c28c0d0819
ncd: NCDVal: don't provide a guarantee that strings are null terminated. Rename NCDVal_StringValue() to NCDVal_StringData() to reflect the change in semantics. Provide NCDVal_StringNullTerminate() for when a null-terminated string is needed. Fix everything to work with these changes.
ambrop7
2012-11-09 23:29:24 +00:00
510f40a7d9
misc/stdbuf_cmdline.h: pass exec as pointer+length
ambrop7
2012-11-09 15:23:17 +00:00
ce4b15173e
ncd: modules: value: implement value::insert(X) which appends X to a list
ambrop7
2012-11-04 19:29:15 +00:00
8236426768
ncd: modules: sys_request_server: remove _request.client_addr_type, change _request.client_addr format to be the same as with sys.listen() from the socket module
ambrop7
2012-11-04 18:19:10 +00:00
e86d72c89b
ncd: modules: sys_request_client: use ncd_read_bconnection_addr() to parse the listen address
ambrop7
2012-11-04 18:12:48 +00:00
be19453b5f
ncd: NCDRequestClient: use struct BConnection_addr for the address argument
ambrop7
2012-11-04 17:50:13 +00:00
055c9c63cd
modules: sys_request_server: use ncd_read_bconnection_addr() to parse the listen address. This changes the address format to be the same as sys.connect() and sys.listen(). Also remove the now redundant unlinking of unix sockets, which is taken care of by BListener.
ambrop7
2012-11-04 17:21:05 +00:00
1b63ab9dd5
system: BConnection_unix: for unix sockets, unlink socket file after we stop listening, and before we start
ambrop7
2012-11-04 17:07:28 +00:00
ef13848cce
ncd: modules: socket: use ncd_read_bconnection_addr()
ambrop7
2012-11-04 16:28:16 +00:00
f2a2b37f1d
ncd: NCDInterpProg: fix crash on duplicate process/template name
ambrop7
2012-11-03 23:36:18 +00:00
1ab2d67d30
CHash: fix bug in Insert() to detect existing entry. This affected NCDInterpProg which made it unable to detect processes/templated with the same name.
ambrop7
2012-11-03 23:35:12 +00:00
6855f84192
ncd/address_utils.h: ncd_make_baddr(): don't treat unknown address types as errors, but produce an "unknown" result
ambrop7
2012-11-02 20:43:21 +00:00
c29313f3c6
ncd: NCDModule: make it possible to have the preallocated memory pointer passed as context for method calls, as opposed to the NCDModuleInst pointer. This will simplify implementing method calls in the upcoming socket module, where the "sys.socket" object type can either be an actual statement sys.connect(), or it can be an anonymous object _socket for listening sockets.
ambrop7
2012-11-01 23:39:04 +00:00
d9d822788d
ncd: NCDObject: make it possible to have the method call context pointer different from the _getobj and _getarg context pointers
ambrop7
2012-11-01 23:23:36 +00:00
ad34835ccf
ncd: NCDModule: don't store a callback state pointer for NCDModuleProcess user callbacks. Instead, pass the NCDModuleProcess pointer.
ambrop7
2012-10-27 18:13:06 +00:00
ea164baa07
ncd: NCDModule: remove 'iparams' member from NCDModuleProcess
ambrop7
2012-10-27 17:13:11 +00:00
2f4b91f7c3
ncd: NCDModule: remove the 'state' member from NCDModuleProcess when in debug mode
ambrop7
2012-10-27 17:07:11 +00:00
ff7e25c8b3
ncd: NCDModule: require that process is not terminated when calling NCDModuleProcess_GetObj()
ambrop7
2012-10-27 16:45:00 +00:00
9a44cabbe9
ncd: optimize destruction of statements which don't do anything on destruction
ambrop7
2012-10-27 15:55:27 +00:00
ffec659d2b
ncd: NCDModule: in NCDModuleInst_Init(), have the interpreter directly pass the method context pointer, not the NCDObject which contains it
ambrop7
2012-10-27 14:06:34 +00:00
3fa9313d5e
ncd: NCDInterpreter: only call NCDInterpProcess_StatementBumpAllocSize() when we really need to increase the mem size
ambrop7
2012-10-27 13:38:09 +00:00
becfbd8014
ncd: small optimization
ambrop7
2012-10-27 00:59:45 +00:00
9d71a60855
ncd: NCDInterpreter: avoid a loop over all statements in process_free() if no statement memory was allocated
ambrop7
2012-10-27 00:32:32 +00:00
2c030279b9
ncd: NCDInterpreter: store BReactor pointer in process to gain a small speedup
ambrop7
2012-10-26 23:43:02 +00:00
33db462802
ncd: NCDInterpreter: only use process state member in debug mode
ambrop7
2012-10-26 22:40:57 +00:00
e2785aea3e
ncd: NCDInterpreter: allow calling process_start_terminating() even if process is already terminating
ambrop7
2012-10-26 22:27:14 +00:00
c1bf18deb9
ncd: NCDInterpreter: don't stop the retry timer if it turns out it is no longer needed. Instead, just detect this from the timer handler. This avoids the performance impact of calling BReactor_RemoveSmallTimer() so often.
ambrop7
2012-10-26 03:42:11 +00:00
88ac127bce
ncd: NCDInterpreter: add process_work_job_handler_waiting() as a dummy handler so we can avoid a branch
ambrop7
2012-10-26 00:44:00 +00:00
3543f7327d
ncd: NCDInterpreter: split process_work_job_handler() into process_work_job_handler_working() and process_work_job_handler_up()
ambrop7
2012-10-25 23:05:58 +00:00
281aa89abb
ncd: NCDInterpreter: split the terminating part of process_work_job_handler() into process_work_job_handler_terminating()
ambrop7
2012-10-25 02:55:49 +00:00
3e01cedfbe
ncd: NCDInterpreter: use C bitfields instead of manual masking and shifting
ambrop7
2012-10-25 02:12:58 +00:00
4e4859be7f
ncd: NCDModule: fix description for semantics of mem pointer
ambrop7
2012-10-24 11:40:36 +00:00
1a251d5aaa
ncd: NCDModule, NCDInterpreter: keep interpreter's statement state in a bitfield within NCDModuleInst, to optimize memory usage
ambrop7
2012-10-24 11:36:48 +00:00
4c6064a80e
ncd: NCDModule: use bitfields for state and error flag in NCDModuleInst. Provides a small performance boost.
ambrop7
2012-10-24 11:25:10 +00:00
5c7ae5f459
ncd: renumber some state values
ambrop7
2012-10-24 11:13:28 +00:00
075b6c643a
ncd: NCDModule: have the interpreter initialize the mem pointer itself. This allows us to remove the 'mem' pointer of struct statement and use the one in NCDModuleInst.
ambrop7
2012-10-24 02:06:00 +00:00
574537745c
ncd: ncd.c: don't use a static variable main_exit_code
ambrop7
2012-10-23 22:57:37 +00:00
5fd8a91309
ncd: ncd.c: only use syslog if it's available
ambrop7
2012-10-23 22:55:39 +00:00
1ebc9e1fa0
port NCD to Emscripten
ambrop7
2012-10-23 01:07:14 +00:00
06f48a4521
ncd: remove some debug prints that slipped through
ambrop7
2012-10-22 02:02:34 +00:00
ae8c3f54d3
ncd: move the mechanical part of ncd.c into NCDInterpreter.{h,c}. This will allow embedding of the NCD interpreter, and possibly running multiple intepreters in the same program, when global state is removed from modules.
ambrop7
2012-10-22 01:20:44 +00:00
b872ade2c4
ncd: NCDModule: add a pass-through pointer for interpreter callbacks
ambrop7
2012-10-22 01:03:49 +00:00
5854094b75
ncd: when specifying program without --config-file option, treat everything that follows as program options
ambrop7
2012-10-21 15:25:13 +00:00
a382f83a07
ncd: allow specifying program file without --config-file option
ambrop7
2012-10-21 15:12:01 +00:00
b7c2bab1e0
fix build under Windows/MSVC
ambrop7
2012-10-21 14:55:20 +00:00