Commit Graph

202 Commits

Author SHA1 Message Date
f575bc6add changed the server code to support multiple listening addresses 2018-03-22 09:46:44 +00:00
b7590398f1 implemented simple idle timeout on the server.
added --shutwr to the sample client code
2018-03-22 07:15:19 +00:00
41b7237ae5 improved the client sample code a bit 2018-03-22 06:08:44 +00:00
b3c0640ba6 fixed a bug in main-c.c 2018-03-22 04:31:18 +00:00
8be5e3fd83 moved the socket address convertion functions to the main hcl library
enhanced the client library and samples
2018-03-22 03:42:17 +00:00
57f8c8969a touched up hcl client code 2018-03-21 15:17:46 +00:00
f675835a11 added reply handler 2018-03-21 10:38:10 +00:00
69e50af80f added more client code 2018-03-20 14:54:32 +00:00
f9cf5e6554 added some hcl client code 2018-03-20 10:36:00 +00:00
11dbde8380 fixed a bug in the default log callback 2018-03-19 09:50:56 +00:00
46ff9acfe2 exposed hcl_addbuiltinprims(). 2018-03-19 09:22:12 +00:00
89f3fc2d08 started some code for hcl client 2018-03-18 15:29:16 +00:00
5aa3a72eea renamed main2.c to main-s.c
started adding client code
2018-03-17 16:07:51 +00:00
1968f11cdf fixed a logmask handling issue 2018-03-17 11:57:02 +00:00
c41c3a12af enhanced the inclusion path handling in the sample hcl server code
added HCL_SERVER_SCRIPT_INCLUDE_PATH
added optstate field in hcl_server_worker_t
2018-03-17 05:44:40 +00:00
b3cef9ec5c added the used field to hcl_server_wid_map_data_t
started implementing .SHOW-WORKERS and .KILL-WORKER
2018-03-16 17:27:24 +00:00
36ee74f0ec enhanced the log_write callback to use as few write system calls as possible.
changed the hcl server to raise an error if .SCRIPT is not followed by actual script text on the same line
2018-03-16 16:20:40 +00:00
0b7acc1fd8 Added HCL_SERVER_WORKER_MAX_COUNT
changed the main server loop to purge dead clients as soon as the multiplex is finished
2018-03-16 14:57:34 +00:00
70ef4b6299 enhanced the hcl server code to assign an ID to each worker created 2018-03-16 05:56:05 +00:00
a4e05ead91 fixed the hcl server to apply some settings to underlying hcl 2018-03-16 01:46:59 +00:00
2b2da9e780 added the empty hcl-c.h and hcl-c.c files 2018-03-15 15:27:34 +00:00
5dcb376907 enhanced the hcl server implementation further while fixing a couple bugs too 2018-03-15 15:23:51 +00:00
3228386c2c implemented actor_max_runtime primitively using timer events 2018-03-15 10:30:06 +00:00
6f69e018c4 added timer functions 2018-03-15 08:35:38 +00:00
b56218ee25 enhanced the error handling of address conversion failure 2018-03-14 15:01:07 +00:00
1736eb5c8b enclosed the value of a macro in parenthesis 2018-03-14 14:56:15 +00:00
b7434aa976 fixed a potential in set_err_with_syserr in hcl-s.c 2018-03-14 14:54:10 +00:00
de534fed83 cleaned up code a bit 2018-03-14 14:46:23 +00:00
25b71a4800 exported hcl_seterrbfmtv(), hcl_seterrufmtv()
added hcl_server_seterrbfmt(), hcl_server_seterrufmt(), hcl_server_seterrbfmtv(), hcl_server_seterrufmtv()
added socket address conversion functions
2018-03-14 14:40:05 +00:00
72fe88548f added .DATA to the chunked output 2018-03-14 10:39:36 +00:00
39749ab847 put the hcl server code into a library 2018-03-14 10:14:38 +00:00
773f09aab2 added hcl-s.c and hcl-s.h 2018-03-13 10:20:50 +00:00
34a23ef986 moving code in main2.c to hcl-s.c 2018-03-13 10:20:33 +00:00
6ff6286ecf speeded up termination
added functions to manipulate server options
2018-03-13 02:02:25 +00:00
3ba32a615d exported hcl_conv_ucs_to_bcs_with_cmgr() and similar functions
enhanced the sample server program
2018-03-12 16:45:42 +00:00
d51ad1cd6a Added partial sample program to accept requests over a socket 2018-03-12 10:39:13 +00:00
a2d8206c58 removed a duplicate macro definition in hcl-prv.h 2018-03-11 17:08:02 +00:00
27e1e55a7c added hcl_getip(), hcl_getbclen(), hcl_getlflen()
renamed vm_checkpoint to vm_checkbc while adding a new parameter
2018-03-11 11:16:28 +00:00
b9224dfa97 added a sample line commented out 2018-03-11 03:12:38 +00:00
f9e60cea28 changed the position of abortion check 2018-03-11 03:05:42 +00:00
536f7fd9f2 added hcl_abort()
taken out vm_startup and vm_cleanup from hcl_vmprim_t and moved them to hcl_cb_t
2018-03-10 17:53:44 +00:00
986e02ae69 fixed return types of io handlers in main.c 2018-03-09 05:12:55 +00:00
3acdae2cdf changed the hcl_ioimpl_t prototype to return 'int' instead of 'hcl_ooi_t'.
changed the io arguments to have a new 'xlen' field that holds the result of IO operations where 0 means end of stream
2018-03-09 05:05:09 +00:00
a60bd0c898 renamed hcl_purgeatdic() to hcl_zapatdic()
exposed hcl_moveoop() 
extended the meaning of the kernel bits in the object flags
extended hcl_pfbase_t to include the type - one of HCL_PFBASE_FUNC, HCL_PFBASE_VAR, HCL_PFBASE_CONST. HCL_PFBASE_CONST not fully implemented yet
2018-03-08 14:18:30 +00:00
02b02865ac work in progress to add the hcl_purgeatdic() function 2018-03-08 10:00:57 +00:00
de7db3e3bd updated the build files to utilize the standalone libltdl library if available 2018-03-07 07:50:28 +00:00
474d48a211 changed configure.ac to reset DL_LIBS if it's set to 'none required' 2018-03-05 04:39:57 +00:00
3eac18548c added mmap/munmap check to configure.ac 2018-03-05 04:08:11 +00:00
2c1b4448be changed the notatin of an error literal from #\eNNN to #eNNN.
changed the notation of a smptr literal from #\pXXXX to #pXXXX
2018-03-05 03:47:18 +00:00
e3b5d33811 implemented the builtin primitive function sprintf 2018-03-05 03:35:44 +00:00
d4d9491f3c exported hcl_readchar() and hcl_unreadchar() 2018-03-04 14:43:23 +00:00
71d024837d enhanced the compiler to implement short-circuited logical 'and' and 'or' special forms.
renamed the primitive function 'and' to '_and' and 'or' to '_or'
2018-03-03 17:16:41 +00:00
c387772803 added a new special word and and or. compiler yet to be enhanced 2018-03-03 03:28:10 +00:00
5aee382e9e fixed the wrong word output for #nil in the json format 2018-03-02 07:58:37 +00:00
60a32bf642 added HCL_LOG_PREFER_JSON and implemented %J 2018-03-02 07:44:13 +00:00
450526215a fixed a compilation issue about MMAP_HUGETLB 2018-03-02 02:09:41 +00:00
9094157e28 fixed print_formatted() to use hcl_outfmtobj() instead of hcl_print().
added 2 new optional callbacks - vmprim.alloc_heap and vmprim.free_heap
2018-03-01 14:47:12 +00:00
0b460a3f2a added the logf builtin function 2018-03-01 09:46:02 +00:00
e58d4e30cc fixed a bug printing %% in print_formatted.
changed to use #x #o #b for hexadecimal, octal, binary output
2018-03-01 08:56:56 +00:00
329fc6ce7d removed unused lines 2018-03-01 05:27:17 +00:00
6eaf73a3d7 touched up various remaining implementation details of the printf builtin function. 2018-03-01 05:25:09 +00:00
09302470f7 enhanced hcl_inttostr() to accept a negative radix to produce lower-case alphabetic digits 2018-02-28 15:57:19 +00:00
ed729adc2e removed unneeded code 2018-02-28 10:23:08 +00:00
ffa6c39852 fixed a bug in printing a single character when hcl_ooch_t is hcl_bch_t
implemented the primitive printf function partially
2018-02-28 10:17:05 +00:00
aaafc1371b changed the format of accepted values by --enable-unicode 2018-02-28 07:33:13 +00:00
701554af0d fixed a wrong index used when getting the mod pointer into/from the prim object 2018-02-28 05:04:42 +00:00
c865de4d61 changed the prototype of hcl_pfimpl_t to accept a hcl_mod_t* pointer 2018-02-28 04:52:01 +00:00
eaf7f9243d changed types of some variables from hcl_oow_t to hcl_ooi_t
attempted to add the builtin printf function
2018-02-26 15:52:15 +00:00
ef51ee4a1d enhanced the logfmtv to handle encoding conversion of the format string 2018-02-26 15:24:45 +00:00
bf49aa1260 changed a wrong function name from hcl_logoofmt to hcl_logufmt
enhanced the log formatter routine a bit
2018-02-26 10:49:31 +00:00
7e6b16e153 work in progress to implement the builtin printf function 2018-02-24 04:01:19 +00:00
a5fe90597c fixed a compiler bug that didn't check the number of arguments to a primitive function properly when no parameter was given 2018-02-24 01:28:58 +00:00
a4be9907b7 added some comments 2018-02-23 08:50:18 +00:00
9498530691 enhanced HCL_BRANDOF() to avoid multiple comparisons.
added the eqk? builtin primitive
removed unnecessary lines
2018-02-23 07:17:23 +00:00
9abb389aa2 got rid of hcl_getlastretv() but let hcl_execute() and hcl_executefromip() to return the returnv value 2018-02-22 12:57:31 +00:00
a78dba499f changed the reader to use a stack of 4-item arrays instead of chains of 3 cons cells
cleaned up some unused code
2018-02-22 10:02:39 +00:00
4876d1775c added hcl_getlastretv().
enhanced hcl_hashobj() to return hash values for nil, true, false
2018-02-22 07:41:03 +00:00
dbeac10a38 added more error immunity check for the log_write callback 2018-02-22 04:44:21 +00:00
a39e38cc8d made hcl immune to an error number/message set in the log_write callback 2018-02-22 04:35:55 +00:00
6e4a8f6081 enhanced pf_log to print a character without quotes.
fixed formatting specifiers in log_char_object() in prim.c
2018-02-21 13:13:25 +00:00
25e4bb040c added a new debugging macro HCL_DEBUG_LEXER
removed the debugging macro HCL_DBEUG_BIGINT
2018-02-21 13:02:05 +00:00
c12b85e0a0 enhanced --enable-unicode to accept ucs4 and ucs2 in addition to yes/no.
redefined the moo_uch_t type to follow the enable-unicode value
2018-02-21 10:12:47 +00:00
67a334bc26 deprecated NDEBUG and introduced HCL_BUILD_DEBUG and HCL_BUILD_RELEASE 2018-02-21 09:30:18 +00:00
5128c1a99f localized a local variable into a loop in PUT_OOCH and PUT_OOCS in logfmtv 2018-02-21 08:54:13 +00:00
14b3013c79 fixed the premature termination issue in logfmtv 2018-02-21 08:48:47 +00:00
ed7f580e54 changed the wrong field name when HCL_OOCH_IS_BCH 2018-02-21 07:54:38 +00:00
7a47ba6369 cleaned up code a bit 2018-02-21 07:38:59 +00:00
cfdc22ee60 added --enable-unicode to configure.ac
cleaned up unnecessary code
2018-02-21 07:37:10 +00:00
a1ce05a5fb more error checks 2018-02-20 14:53:12 +00:00
af67156d1b changed the main loop a little bit 2018-02-20 14:10:09 +00:00
e61207291c removed NDEBUG enclosing karatsuba_cutoff 2018-02-20 10:27:11 +00:00
1f4143f20f made hcl_inttooow() and hcl_oowtoint() public 2018-02-19 16:17:46 +00:00
edea84bd46 added the gc builtin function 2018-02-18 15:02:57 +00:00
21cddab62f change dic.get to return an error code upon search failure 2018-02-17 16:45:17 +00:00
093ee93a3c deleted unneeded code 2018-02-17 16:09:44 +00:00
22127d384f added some error checks for error literals and smptr literals 2018-02-17 16:01:27 +00:00
de0715e302 implemented the single quote character literal.
added the error literal and the smptr literal notations and types
2018-02-17 15:42:12 +00:00
270a762e32 added some builtin modules, but without many functions in them 2018-02-15 15:36:15 +00:00
2a0551df2d enhanced hcl_inttostr() to keep results in the temporary buffer when ngc is negative.
changed the integer printing function to utilize this change in print.c
2018-02-15 08:05:48 +00:00
46a4bd1561 fixed to use hcl-wide temporary buffers when converting an integer to a string 2018-02-15 06:58:36 +00:00