Commit Graph

  • be0a46f522 Support setting open_port options Michael Santos 2014-03-29 12:09:55 -04:00
  • 43369a15cd signal_constant: convert integer to atom Michael Santos 2014-03-29 11:53:58 -04:00
  • e641b00891 setopt: remove setting maxchild per process Michael Santos 2014-03-29 11:30:15 -04:00
  • 083256205a getopt: break after parsing opt Michael Santos 2014-03-29 10:53:54 -04:00
  • bb9b98011c Add getopt/1: retrieve per process port options Michael Santos 2014-03-28 16:54:01 -04:00
  • 86bf475fbf Add convenience macros for stdio Michael Santos 2014-03-27 16:21:50 -04:00
  • 86ceca06b1 headers: mirror numbering of Unix stdio Michael Santos 2014-03-27 14:50:51 -04:00
  • cd551f4521 Retrieve long values from the external term format Michael Santos 2014-03-27 14:18:36 -04:00
  • 27d8880926 clone: correct signedness of flags Michael Santos 2014-03-27 14:00:37 -04:00
  • c9636a8e5c fork: use a unsigned integer to track depth Michael Santos 2014-03-27 13:40:20 -04:00
  • 8eaa8975b0 maxforkdepth: control the length of fork chains Michael Santos 2014-03-27 09:13:30 -04:00
  • b83b905b6c mount: fix pasto in define Michael Santos 2014-03-26 15:34:45 -04:00
  • 0dd6ca4dcd mount: add portable mount flags Michael Santos 2014-03-26 15:32:17 -04:00
  • 90e0f7679d prctl: set length of binary in arg Michael Santos 2014-03-26 14:23:05 -04:00
  • 04b5277555 Define constants as atoms Michael Santos 2014-03-26 10:52:27 -04:00
  • 0727a2d064 getopt: limit maximum number of child procs Michael Santos 2014-03-26 09:59:15 -04:00
  • c6191a0334 Allow setting max number of children per fork Michael Santos 2014-03-25 08:27:22 -04:00
  • 3f2de7e295 setopt/3: set options per process Michael Santos 2014-03-25 08:08:30 -04:00
  • 0fbd6ce289 exec: free env on badarg Michael Santos 2014-03-24 09:32:53 -04:00
  • f3df938969 Set the exec() status of the child Michael Santos 2014-03-23 16:06:32 -04:00
  • 36e890b148 Merge branch 'execve' Michael Santos 2014-03-23 15:11:38 -04:00
  • ee14902c43 Free memory if execve fails Michael Santos 2014-03-23 14:32:58 -04:00
  • 5944ecfef1 Check child status when control fd is closed Michael Santos 2014-03-23 12:12:55 -04:00
  • 778b6cbc6b Allow arbitrarily long chains of processes Michael Santos 2014-03-23 12:08:36 -04:00
  • a08e904ded Add support for execve(2) Michael Santos 2014-03-23 09:14:13 -04:00
  • b907e83271 Clean up logic for reading from child Michael Santos 2014-03-23 08:51:16 -04:00
  • d60a653689 Protocol changes for exec() Michael Santos 2014-03-22 12:14:58 -04:00
  • c212efa55e Add header for AF_UNIX on BSD Michael Santos 2014-03-22 09:53:07 -04:00
  • 280c132549 Notify the parent when the child has exec'ed Michael Santos 2014-03-21 12:38:50 -04:00
  • 0167a3a9df Correct headers for stderr Michael Santos 2014-03-21 10:40:44 -04:00
  • d77a5a040e alcove_drv:event/4: simplify the interface Michael Santos 2014-03-19 10:14:58 -04:00
  • e38acf8e2e alcove_drv:event/4: return {error, timedout} Michael Santos 2014-03-19 09:37:05 -04:00
  • 369a840459 test: check the child has exited Michael Santos 2014-03-18 17:56:36 -04:00
  • ba1bfcad15 test: wait for SIGCHLD Michael Santos 2014-03-18 17:36:37 -04:00
  • 82c527aa91 Use macros to generate header pattern matches Michael Santos 2014-03-18 17:28:33 -04:00
  • 14b9597b4c Use a common stdio fun for stderr and stdout Michael Santos 2014-03-18 16:58:15 -04:00
  • acf0cacca8 Ignore the length in nested message headers Michael Santos 2014-03-18 16:51:27 -04:00
  • d7ede5f736 Handle coalesced messages from the port Michael Santos 2014-03-18 09:11:45 -04:00
  • 059aa5c98d Allowing setting the number of children per fork Michael Santos 2014-03-16 16:32:18 -04:00
  • c1e7a219f5 Search for a free PID slot at fork Michael Santos 2014-03-16 11:45:29 -04:00
  • 8be2e90c71 Changes for dialyzer Michael Santos 2014-03-16 10:30:18 -04:00
  • 9e2608ca23 test: use a match for stderr Michael Santos 2014-03-16 09:59:30 -04:00
  • d54bc3f07c Remove spurious message length before stdin Michael Santos 2014-03-16 09:41:37 -04:00
  • 546ae8890e Correct the stdio functions Michael Santos 2014-03-15 17:55:54 -04:00
  • 1d0c7230b7 Fix pattern matching messages from the port Michael Santos 2014-03-15 16:46:26 -04:00
  • 35e2905ca4 Clean up write functions Michael Santos 2014-03-15 13:36:05 -04:00
  • fc7a27edda Rename ALCOVE_MSG_CAST -> ALCOVE_MSG_EVENT Michael Santos 2014-03-15 11:21:14 -04:00
  • 1cddd08de1 Add signal handling using sigaction(2) Michael Santos 2014-03-15 09:49:44 -04:00
  • 03b8eac886 Close possible fd leaks on error conditions Michael Santos 2014-03-14 15:26:20 -04:00
  • d9750ef943 Tests for FreeBSD Michael Santos 2014-03-14 07:57:09 -04:00
  • ebe505ae78 Add specs for prctl Michael Santos 2014-03-13 06:22:34 -04:00
  • dfebfa3c8c Try not to leak PID slots Michael Santos 2014-03-12 16:59:21 -04:00
  • 930ed76033 Correct type returned by sysconf Michael Santos 2014-03-12 16:45:23 -04:00
  • 89ddec3aa7 Use sysconf(3) to retrieve max args Michael Santos 2014-03-12 16:31:37 -04:00
  • 0315a7570d Close the child file descriptors Michael Santos 2014-03-12 09:48:23 -04:00
  • cde8ccc440 Remove redundant headers Michael Santos 2014-03-11 18:12:46 -04:00
  • 0666f4e836 prctl: simplify arg handling Michael Santos 2014-03-11 08:37:49 -04:00
  • 80862619b2 prctl: use a macro to retrieve args Michael Santos 2014-03-11 08:28:55 -04:00
  • e5d928bea9 Use 8 byte values for longs/long longs Michael Santos 2014-03-11 07:50:12 -04:00
  • b771e8f327 tests: fix warning Michael Santos 2014-03-11 07:50:00 -04:00
  • 5cc4ea2a1b Merge branch 'prctl' Michael Santos 2014-03-10 17:12:14 -04:00
  • 4ee88053e1 Add support for prctl(2) Michael Santos 2014-03-09 18:27:29 -04:00
  • 8a6f16216e tests: add test for mounting ram filesystems Michael Santos 2014-03-10 11:12:58 -04:00
  • 668395a17a tests: include the full OS tuple Michael Santos 2014-03-10 10:39:31 -04:00
  • 2d5b56577a Clear sigchld handler in child Michael Santos 2014-03-09 16:17:50 -04:00
  • bdd8784361 Add stdout/2 and stderr/2 with immediate timeouts Michael Santos 2014-03-09 15:00:10 -04:00
  • d92ca9a98c Fixes for compiling on FreeBSD Michael Santos 2014-03-09 14:56:34 -04:00
  • 434e99bb61 tests: mount(2)/umount(2) Michael Santos 2014-03-09 13:57:22 -04:00
  • 99c4450e5d Add umount(2) and mount_define/2 Michael Santos 2014-03-09 13:48:52 -04:00
  • 80013e2eae Add support for bind mounts using mount(2) Michael Santos 2014-03-09 13:06:51 -04:00
  • 554225032a Remove define/3 for rlimit Michael Santos 2014-03-09 11:57:01 -04:00
  • e9f6445a2e Add typespecs, change return value for clone_define Michael Santos 2014-03-09 11:51:24 -04:00
  • a1fb143b23 rlimit_define/2: lookup for rlimit constants Michael Santos 2014-03-09 11:33:05 -04:00
  • 8f1a8df951 tests: unshare Michael Santos 2014-03-09 11:09:56 -04:00
  • c85a531fd8 tests: setns Michael Santos 2014-03-09 10:58:46 -04:00
  • 72edbb18c6 define/3: wrapper for retrieving constants Michael Santos 2014-03-09 09:56:17 -04:00
  • 1ccdd49a5c ifdef linux specific calls Michael Santos 2014-03-09 09:34:30 -04:00
  • c2cd47c7b6 Rename cmd -> call Michael Santos 2014-03-09 09:23:55 -04:00
  • 0c9cc9536c Clean up whitespace Michael Santos 2014-03-09 09:08:45 -04:00
  • b08830155b Enable stats Michael Santos 2014-03-09 08:53:38 -04:00
  • a58b2a458e Move out message read from stdin to a function Michael Santos 2014-03-09 08:47:49 -04:00
  • 72e3257b0d alcove_call -> alcove_msg_call, alcove_msg -> alcove_msg_read Michael Santos 2014-03-09 08:31:32 -04:00
  • ffed54b668 tests: pass the OS in the state argument Michael Santos 2014-03-09 08:25:40 -04:00
  • 46c0fcfa78 tests: use clone_flags/2 Michael Santos 2014-03-09 08:13:33 -04:00
  • 07575ff03e Iterate through PIDs using function pointers Michael Santos 2014-03-08 17:38:39 -05:00
  • 6189a876cc Reset flag after cleaning up after child Michael Santos 2014-03-08 16:17:01 -05:00
  • 9d7404be00 alcove: run without privileges by default Michael Santos 2014-03-08 15:00:43 -05:00
  • fed8f44a68 Use standard names for standard I/O messages Michael Santos 2014-03-08 14:55:25 -05:00
  • 2c2f018275 Define structs for message types Michael Santos 2014-03-08 14:51:40 -05:00
  • fdd1fad618 Remove unused headers Michael Santos 2014-03-08 13:53:56 -05:00
  • 750e4517a9 clone_flags/2: look up values by atom Michael Santos 2014-03-08 13:44:22 -05:00
  • e3bd4988c6 Split out calls into separate files Michael Santos 2014-03-08 13:30:59 -05:00
  • 3ed4858300 Fix nested message headers Michael Santos 2014-03-08 12:40:31 -05:00
  • 4878a1417f Remove encode/2 Michael Santos 2014-03-08 12:16:55 -05:00
  • e4ace8d8e3 Use an atomic write from port -> Erlang Michael Santos 2014-03-08 11:17:56 -05:00
  • 64af3b4c17 Add kill(2) Michael Santos 2014-03-08 10:43:13 -05:00
  • fd7db845c0 pid/1: return a list of the child PIDs Michael Santos 2014-03-08 10:31:53 -05:00
  • 88df48527e Begin restricting return values from port Michael Santos 2014-03-08 10:10:03 -05:00
  • 3eec5be364 Update typespecs Michael Santos 2014-03-07 17:20:51 -05:00
  • 4036daca80 Support multiple processes Michael Santos 2014-03-07 16:36:08 -05:00