summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2017-08-26__ntapi_sem_set(), __ntapi_sem_query(): handle hlock more elegantly.midipix2-15/+17
2017-08-18project: src/ipc: normalized source file names.midipix3-2/+2
2017-08-18__ntapi_ipc_create_pipe(): refine, change polling strategy.midipix3-21/+19
The canonical way of polling an i/o handle by requesting a zero-byte read/write operation and then waiting on the event (or apc routine) that was specified for that i/o operation fails to work on the writing end of a byte-stream pipe. Specifically, the request completes immediately, therefore not allowing us to employ it for a controlled poll operation. Following this patch, the writing end of the pipe is opened with the NT_FILE_SYNCHRONOUS_IO_ALERT flag set. With this flag set, zero-byte writes block, which makes them perfectly suitable for a polling operation, but less so for non-blocking i/o. With some effort, however, the latter can be achieved and be both robust and reliable.
2017-08-06primary token: enable symlink creation capabilities by default.midipix1-0/+4
2017-08-04subsystem interfaces: added server-to-server synchronization interfaces.midipix10-14/+341
2017-08-04__tt_port_attr_from_name(): properly initialize attr->type.midipix1-0/+4
2017-08-04__ipc_connect_by_attr(): return section-related info in the _by_port code path.midipix1-5/+2
2017-08-01__ntapi_tt_fork(): fixed typo in legacy OS code path.midipix1-1/+1
2017-07-31subsystem interfaces: integrated sysv semaphore client-side interfaces.midipix13-0/+925
2017-07-31subsystem interfaces: integrated __ntapi_tty_client_session_disconnect().midipix6-0/+46
2017-07-31subsystem interfaces: session creation: set ppid_type and co. with server chain.midipix1-0/+19
2017-07-31subsystem interfaces: session creation: use srv_type and co. more elegantly.midipix1-9/+5
2017-07-31subsystem interfaces: integrated ipc connection section handlers.midipix8-14/+341
2017-07-31subsystem interfaces: integrated ipc connection handlers.midipix8-2/+342
2017-07-31subsystem interfaces: integrated __ntapi_tty_query_information_service().midipix6-0/+87
2017-07-31subsystem interfaces: set port type from guid when creating a server instance.midipix1-3/+12
2017-07-31subsystem interfaces: normalized port name helper functions.midipix7-7/+7
2017-07-31subsystem interfaces: integrated extended port name helper functions.midipix5-0/+168
2017-07-31subsystem interfaces: ipc object guid parameter is always a const.midipix4-10/+10
2017-07-31subsystem interfaces: integrated ipc object directory handlers.midipix5-1/+129
2017-07-31subsystem interfaces: integrated sysv semaphore definitions.midipix6-2/+124
2017-07-31__ntapi_blt_alloc(): properly support user-provided block array regions.midipix1-1/+4
2017-07-31string to hex, hex to string: pre-alpha api normalization.midipix4-26/+26
2017-07-31__ntapi_tt_string_to_guid_utf16(): support outer dashes and outer underscores.midipix1-4/+16
2017-07-31__ntapi_tty_create_session(): use the proper 'server ready' event type.midipix1-1/+1
2017-07-31__ntapi_tty_create_session(): properly set the server's runtime abi.midipix1-0/+4
2017-05-28build system: added extended dir variables.midipix3-0/+140
2017-05-24build system: added --sbindir support.midipix3-0/+10
2017-02-04update code following libpemagine's pre-alpha API update.midipix1-1/+1
2017-02-04annual chores.midipix117-117/+117
2017-02-02added crc64 definitions and interfaces.midipix7-0/+157
2017-01-29{i}stat{fs} interfaces(): hold the operating system's hand as needed.midipix3-0/+12
2017-01-28__ntapi_tt_open_physical_parent_directory(): whitespace meditation.midipix1-8/+8
2017-01-28__ntapi_tt_open_physical_parent_directory(): properly handle \Device\Mup.midipix1-5/+28
2017-01-28__ntapi_tt_create_native_process(): rtdata: provide a uniform command line.midipix2-112/+89
2017-01-28struct nt_runtime_data: added dynamic loader context members.midipix1-0/+2
2017-01-26guid <--> string conversion functions: normalized interfaces.midipix10-17/+17
2017-01-19__ntapi_tt_get_peb_env_block_utf16(): rewrite more elegantly.midipix1-7/+4
2017-01-19__ntapi_tt_get_cmd_line_utf16(): rewrite more elegantly.midipix1-9/+4
2017-01-19__ntapi_tt_get_runtime_data(): integral process: guard against false positives.midipix3-2/+17
2017-01-19__ntapi_tt_get_runtime_data(): simplify logic, check align. at page boundary.midipix1-11/+17
2017-01-18struct nt_runtime_data: added dynamic loader guid information.midipix1-0/+1
2017-01-18ntapi_tt_open_{physical|logical}_parent_directory: added 'reserved' param.midipix3-4/+11
2017-01-18__ntapi_tt_open_logical_parent_directory(): updated stub return value.midipix1-1/+1
2017-01-18ntapi_tt_open_logical_parent_directory(): added inheritance and share params.midipix2-0/+6
2017-01-18ntapi_tt_open_logical_parent_directory(): removed 'type' param (not needed).midipix2-5/+2
2017-01-18ntapi_tt_open_physical_parent_directory(): added inheritance and share params.midipix2-4/+7
2017-01-18ntapi_tt_open_physical_parent_directory(): removed 'type' param (not needed).midipix2-6/+2
2017-01-17struct nt_runtime_data: update for the benefit of the framework loader impl.midipix2-9/+9
2017-01-16__ntapi_dsr_start_impl(): copy the loop routine addr and ctx onto the stack.midipix1-2/+4
Since params might point to an address on the stack of the thread which called __ntapi_dsr_init(), and given that __ntapi_dsr_init() returns as soon as the internal client connection had been established, we may not access params upon return from __ntapi_dsr_connect_internal_client().