Index: jrun/bad_syscalls
===================================================================
--- jrun/bad_syscalls	(revision 1147)
+++ jrun/bad_syscalls	(working copy)
@@ -17,7 +17,6 @@ setresuid
 setregid
 getegid
 getppid
-kill
 signal
 sigaction
 sigprocmask
@@ -32,16 +31,5 @@ setrlimit
 getrusage
 reboot
 mount
-umount
-accept
-bind
-connect
-getsockname
-getsockopt
-listen
-recv
-recvfrom
-send
-setsockopt
-socket
-socketpair
+umount2
+socketcall
Index: jrun/jrun.c
===================================================================
--- jrun/jrun.c	(revision 1147)
+++ jrun/jrun.c	(working copy)
@@ -25,7 +25,7 @@
  *      -w --wall-time-limit: Global "wall" time limit, in miliseconds.
  *              Wall time measures actual real-world time and should be a bigger limit.
  *              This is required to avoid stalling on sleep(), etc.
- *               
+ *
  *          Security stuff:
  *
  *      -u --uid: UID for impersonation
@@ -36,7 +36,7 @@
  *      --block-syscalls: Blocked system call list. Separate with ",", needs ptrace
  *      --block-syscalls-file: A file with blocked system calls. Better than the above.
  *
- 
+
  *      Returns 0
  *      See stdout for information.
  */
@@ -80,7 +80,7 @@ void copy_libs(void)
                     sprintf(cmd, "mkdir -p ./%s", path);
                     *strrchr(cmd, '/') = 0;
                     system(cmd);
-                    
+
                     sprintf(cmd, "cp -f %s ./%s", path, path);
                     system(cmd);
                 }
@@ -245,8 +245,13 @@ int get_syscall_number(void)
     int val;
 
     errno = 0;
-    // 44, trust me. It's 4 * ORIG_EAX from ptrace.h in the kernel
+#ifdef __x86_64__
+    // 120, trust me. It's ORIG_RAX from ptrace.h in the kernel.
+    val = ptrace(PTRACE_PEEKUSER, child_pid, (char *)(120), 0);
+#else
+    // 44, trust me. It's 4 * ORIG_EAX from ptrace.h in the kernel.
     val = ptrace(PTRACE_PEEKUSER, child_pid, (char *)(44), 0);
+#endif
     if (val == -1 && errno) {
         perror("ERROR: failed to get system call number");
         exit(-1);
@@ -288,7 +293,7 @@ void update_from_proc(void)
     child_time = (utime + stime) * JRUN_JIFFIE_DURATION;
     fclose(f);
 
-    // Memory, from /proc/$pid/stat
+    // Memory, from /proc/$pid/statm
     sprintf(path, "/proc/%d/statm", child_pid);
     if (!(f = fopen(path, "rt"))) {
         perror("ERROR: failed to read from /proc");
@@ -318,6 +323,8 @@ void update_from_rusage(struct rusage *usage)
 
     child_time = usage->ru_utime.tv_sec * 1000 + usage->ru_utime.tv_usec / 1000;
     child_time += usage->ru_stime.tv_sec * 1000 + usage->ru_stime.tv_usec / 1000;
+
+    child_memory = usage->ru_maxrss;
 }
 
 // Does a couple of standard checks on the process.
@@ -416,7 +423,7 @@ void main_loop()
                 sig = 0;
 
                 if (jopt.verbose) {
-                    fprintf(stderr, "Halt on syscall %d(%s)\n", 
+                    fprintf(stderr, "Halt on syscall %d(%s)\n",
                             syscall_number, syscall_name[syscall_number]);
                 }
                 if (jopt.syscall_block[syscall_number] && !first_syscall) {
@@ -429,7 +436,7 @@ void main_loop()
                     continue;
                 } else {
                     if (jopt.verbose) {
-                        fprintf(stderr, "Syscall %s allowed.\n", 
+                        fprintf(stderr, "Syscall %s allowed.\n",
                                 syscall_name[syscall_number]);
                     }
                 }
@@ -461,7 +468,7 @@ void main_loop()
             exit_gracefully();
         } else if (wres == child_pid && WIFSIGNALED(status)) {
             if (jopt.verbose) {
-                fprintf(stderr, "Halt on kill by signal %d(%s).\n", 
+                fprintf(stderr, "Halt on kill by signal %d(%s).\n",
                         WTERMSIG(status), signal_name[WTERMSIG(status)]);
             }
 
Index: jrun/names.c
===================================================================
--- jrun/names.c	(revision 1147)
+++ jrun/names.c	(working copy)
@@ -42,353 +42,648 @@ const char* signal_name[] = {
 };
 
 // System call names.
-// TODO: numbers? WTF for?
+// List of system calls extracted from kernel version 2.6.33.
 const char* syscall_name[] = {
-    "setup",
-    "_exit",
-    "fork",
-    "read",
-    "write",
-    "open",
-    "close",
-    "waitpid",
-    "creat",
-    "link",
-    "unlink",
-    "execve",
-    "chdir",
-    "time",
-    "mknod",
-    "chmod",
-    "lchown",
-    "break",
-    "oldstat",
-    "lseek",
-    "getpid",
-    "mount",
-    "oldumount",
-    "setuid",
-    "getuid",
-    "stime",
-    "ptrace",
-    "alarm",
-    "oldfstat",
-    "pause",
-    "utime",
-    "stty",
-    "gtty",
-    "access",
-    "nice",
-    "ftime",
-    "sync",
-    "kill",
-    "rename",
-    "mkdir",
-    "rmdir",
-    "dup",
-    "pipe",
-    "times",
-    "prof",
-    "brk",
-    "setgid",
-    "getgid",
-    "signal",
-    "geteuid",
-    "getegid",
-    "acct",
-    "umount",
-    "lock",
-    "ioctl",
-    "fcntl",
-    "mpx",
-    "setpgid",
-    "ulimit",
-    "oldolduname",
-    "umask",
-    "chroot",
-    "ustat",
-    "dup2",
-    "getppid",
-    "getpgrp",
-    "setsid",
-    "sigaction",
-    "siggetmask",
-    "sigsetmask",
-    "setreuid",
-    "setregid",
-    "sigsuspend",
-    "sigpending",
-    "sethostname",
-    "setrlimit",
-    "old_getrlimit",
-    "getrusage",
-    "gettimeofday",
-    "settimeofday",
-    "getgroups",
-    "setgroups",
-    "oldselect",
-    "symlink",
-    "oldlstat",
-    "readlink",
-    "uselib",
-    "swapon",
-    "reboot",
-    "readdir",
-    "old_mmap",
-    "munmap",
-    "truncate",
-    "ftruncate",
-    "fchmod",
-    "fchown",
-    "getpriority",
-    "setpriority",
-    "profil",
-    "statfs",
-    /* 100 */
-    "fstatfs",
-    "ioperm",
-    "socketcall",
-    "syslog",
-    "setitimer",
-    "getitimer",
-    "stat",
-    "lstat",
-    "fstat",
-    "olduname",
-    "iopl",
-    "vhangup",
-    "idle",
-    "vm86old",
-    "wait4",
-    "swapoff",
-    "sysinfo",
-    "ipc",
-    "fsync",
-    "sigreturn",
-    "clone",
-    "setdomainname",
-    "uname",
-    "modify_ldt",
-    "adjtimex",
-    "mprotect",
-    "sigprocmask",
-    "create_module",
-    "init_module",
-    "delete_module",
-    "get_kernel_syms",
-    "quotactl",
-    "getpgid",
-    "fchdir",
-    "bdflush",
-    "sysfs",
-    "personality",
-    "afs_syscall",
-    "setfsuid",
-    "setfsgid",
-    "_llseek",
-    "getdents",
-    "select",
-    "flock",
-    "msync",
-    "readv",
-    "writev",
-    "getsid",
-    "fdatasync",
-    "_sysctl",
-    "mlock",
-    "munlock",
-    "mlockall",
-    "munlockall",
-    "sched_setparam",
-    "sched_getparam",
-    "sched_setscheduler",
-    "sched_getscheduler",
-    "sched_yield",
-    "sched_get_priority_max",
-    "sched_get_priority_min",
-    "sched_rr_get_interval",
-    "nanosleep",
-    "mremap",
-    "setresuid",
-    "getresuid",
-    "vm86",
-    "query_module",
-    "poll",
-    "nfsservctl",
-    "setresgid",
-    "getresgid",
-    "prctl",
-    "rt_sigreturn",
-    "rt_sigaction",
-    "rt_sigprocmask",
-    "rt_sigpending",
-    "rt_sigtimedwait",
-    "rt_sigqueueinfo",
-    "rt_sigsuspend",
-    "pread64",
-    "pwrite64",
-    "chown",
-    "getcwd",
-    "capget",
-    "capset",
-    "sigaltstack",
-    "sendfile",
-    "getpmsg",
-    "putpmsg",
-    "vfork",
-    "getrlimit",
-    "mmap2",
-    "truncate64",
-    "ftruncate64",
-    "stat64",
-    "lstat64",
-    "fstat64",
-    "lchown32",
-    "getuid32",
-    /* 200 */
-    "getgid32",
-    "geteuid32",
-    "getegid32",
-    "setreuid32",
-    "setregid32",
-    "getgroups32",
-    "setgroups32",
-    "fchown32",
-    "setresuid32",
-    "getresuid32",
-    "setresgid32",
-    "getresgid32",
-    "chown32",
-    "setuid32",
-    "setgid32",
-    "setfsuid32",
-    "setfsgid32",
-    "pivot_root",
-    "mincore",
-    "madvise",
-    "getdents64",
-    "fcntl64",
-    "SYS_222",
-    "security",
-    "gettid",
-    "readahead",
-    "setxattr",
-    "lsetxattr",
-    "fsetxattr",
-    "getxattr",
-    "lgetxattr",
-    "fgetxattr",
-    "listxattr",
-    "llistxattr",
-    "flistxattr",
-    "removexattr",
-    "lremovexattr",
-    "fremovexattr",
-    "tkill",
-    "sendfile64",
-    "futex",
-    "sched_setaffinity",
-    "sched_getaffinity",
-    "set_thread_area",
-    "get_thread_area",
-    "io_setup",
-    "io_destroy",
-    "io_getevents",
-    "io_submit",
-    "io_cancel",
-    "fadvise64",
-    "SYS_251",
-    "exit_group",
-    "lookup_dcookie",
-    "epoll_create",
-    "epoll_ctl",
-    "epoll_wait",
-    "remap_file_pages",
-    "set_tid_address",
-    "timer_create",
-    "timer_settime",
-    "timer_gettime",
-    "timer_getoverrun",
-    "timer_delete",
-    "clock_settime",
-    "clock_gettime",
-    "clock_getres",
-    "clock_nanosleep",
-    "statfs64",
-    "fstatfs64",
-    "tgkill",
-    "utimes",
-    "fadvise64_64",
-    "vserver",
-    "mbind",
-    "get_mempolicy",
-    "set_mempolicy",
-    "mq_open",
-    "mq_unlink",
-    "mq_timedsend",
-    "mq_timedreceive",
-    "mq_notify",
-    "mq_getsetattr",
-    "sys_kexec_load",
-    "waitid",
-    "SYS_285",
-    "SYS_286",
-    "SYS_287",
-    "SYS_288",
-    "SYS_289",
-    "SYS_290",
-    "SYS_291",
-    "SYS_292",
-    "SYS_293",
-    "SYS_294",
-    "SYS_295",
-    "SYS_296",
-    "SYS_297",
-    "SYS_298",
-    "SYS_299",
-    /* 300 */
-    "socket_subcall",
-    "socket",
-    "bind",
-    "connect",
-    "listen",
-    "accept",
-    "getsockname",
-    "getpeername",
-    "socketpair",
-    "send",
-    "recv",
-    "sendto",
-    "recvfrom",
-    "shutdown",
-    "setsockopt",
-    "getsockopt",
-    "sendmsg",
-    "recvmsg",
-    "ipc_subcall",
-    "semop",
-    "semget",
-    "semctl",
-    "semtimedop",
-    "ipc_subcall",
-    "ipc_subcall",
-    "ipc_subcall",
-    "ipc_subcall",
-    "ipc_subcall",
-    "ipc_subcall",
-    "msgsnd",
-    "msgrcv",
-    "msgget",
-    "msgctl",
-    "ipc_subcall",
-    "ipc_subcall",
-    "ipc_subcall",
-    "ipc_subcall",
-    "ipc_subcall",
-    "ipc_subcall",
-    "shmat",
-    "shmdt",
-    "shmget",
-    "shmctl",
+#ifdef __x86_64__
+    "read",                       /* 0 */
+    "write",                      /* 1 */
+    "open",                       /* 2 */
+    "close",                      /* 3 */
+    "stat",                       /* 4 */
+    "fstat",                      /* 5 */
+    "lstat",                      /* 6 */
+    "poll",                       /* 7 */
+    "lseek",                      /* 8 */
+    "mmap",                       /* 9 */
+    "mprotect",                   /* 10 */
+    "munmap",                     /* 11 */
+    "brk",                        /* 12 */
+    "rt_sigaction",               /* 13 */
+    "rt_sigprocmask",             /* 14 */
+    "rt_sigreturn",               /* 15 */
+    "ioctl",                      /* 16 */
+    "pread64",                    /* 17 */
+    "pwrite64",                   /* 18 */
+    "readv",                      /* 19 */
+    "writev",                     /* 20 */
+    "access",                     /* 21 */
+    "pipe",                       /* 22 */
+    "select",                     /* 23 */
+    "sched_yield",                /* 24 */
+    "mremap",                     /* 25 */
+    "msync",                      /* 26 */
+    "mincore",                    /* 27 */
+    "madvise",                    /* 28 */
+    "shmget",                     /* 29 */
+    "shmat",                      /* 30 */
+    "shmctl",                     /* 31 */
+    "dup",                        /* 32 */
+    "dup2",                       /* 33 */
+    "pause",                      /* 34 */
+    "nanosleep",                  /* 35 */
+    "getitimer",                  /* 36 */
+    "alarm",                      /* 37 */
+    "setitimer",                  /* 38 */
+    "getpid",                     /* 39 */
+    "sendfile",                   /* 40 */
+    "socket",                     /* 41 */
+    "connect",                    /* 42 */
+    "accept",                     /* 43 */
+    "sendto",                     /* 44 */
+    "recvfrom",                   /* 45 */
+    "sendmsg",                    /* 46 */
+    "recvmsg",                    /* 47 */
+    "shutdown",                   /* 48 */
+    "bind",                       /* 49 */
+    "listen",                     /* 50 */
+    "getsockname",                /* 51 */
+    "getpeername",                /* 52 */
+    "socketpair",                 /* 53 */
+    "setsockopt",                 /* 54 */
+    "getsockopt",                 /* 55 */
+    "clone",                      /* 56 */
+    "fork",                       /* 57 */
+    "vfork",                      /* 58 */
+    "execve",                     /* 59 */
+    "exit",                       /* 60 */
+    "wait4",                      /* 61 */
+    "kill",                       /* 62 */
+    "uname",                      /* 63 */
+    "semget",                     /* 64 */
+    "semop",                      /* 65 */
+    "semctl",                     /* 66 */
+    "shmdt",                      /* 67 */
+    "msgget",                     /* 68 */
+    "msgsnd",                     /* 69 */
+    "msgrcv",                     /* 70 */
+    "msgctl",                     /* 71 */
+    "fcntl",                      /* 72 */
+    "flock",                      /* 73 */
+    "fsync",                      /* 74 */
+    "fdatasync",                  /* 75 */
+    "truncate",                   /* 76 */
+    "ftruncate",                  /* 77 */
+    "getdents",                   /* 78 */
+    "getcwd",                     /* 79 */
+    "chdir",                      /* 80 */
+    "fchdir",                     /* 81 */
+    "rename",                     /* 82 */
+    "mkdir",                      /* 83 */
+    "rmdir",                      /* 84 */
+    "creat",                      /* 85 */
+    "link",                       /* 86 */
+    "unlink",                     /* 87 */
+    "symlink",                    /* 88 */
+    "readlink",                   /* 89 */
+    "chmod",                      /* 90 */
+    "fchmod",                     /* 91 */
+    "chown",                      /* 92 */
+    "fchown",                     /* 93 */
+    "lchown",                     /* 94 */
+    "umask",                      /* 95 */
+    "gettimeofday",               /* 96 */
+    "getrlimit",                  /* 97 */
+    "getrusage",                  /* 98 */
+    "sysinfo",                    /* 99 */
+    "times",                      /* 100 */
+    "ptrace",                     /* 101 */
+    "getuid",                     /* 102 */
+    "syslog",                     /* 103 */
+    "getgid",                     /* 104 */
+    "setuid",                     /* 105 */
+    "setgid",                     /* 106 */
+    "geteuid",                    /* 107 */
+    "getegid",                    /* 108 */
+    "setpgid",                    /* 109 */
+    "getppid",                    /* 110 */
+    "getpgrp",                    /* 111 */
+    "setsid",                     /* 112 */
+    "setreuid",                   /* 113 */
+    "setregid",                   /* 114 */
+    "getgroups",                  /* 115 */
+    "setgroups",                  /* 116 */
+    "setresuid",                  /* 117 */
+    "getresuid",                  /* 118 */
+    "setresgid",                  /* 119 */
+    "getresgid",                  /* 120 */
+    "getpgid",                    /* 121 */
+    "setfsuid",                   /* 122 */
+    "setfsgid",                   /* 123 */
+    "getsid",                     /* 124 */
+    "capget",                     /* 125 */
+    "capset",                     /* 126 */
+    "rt_sigpending",              /* 127 */
+    "rt_sigtimedwait",            /* 128 */
+    "rt_sigqueueinfo",            /* 129 */
+    "rt_sigsuspend",              /* 130 */
+    "sigaltstack",                /* 131 */
+    "utime",                      /* 132 */
+    "mknod",                      /* 133 */
+    "uselib",                     /* 134 */
+    "personality",                /* 135 */
+    "ustat",                      /* 136 */
+    "statfs",                     /* 137 */
+    "fstatfs",                    /* 138 */
+    "sysfs",                      /* 139 */
+    "getpriority",                /* 140 */
+    "setpriority",                /* 141 */
+    "sched_setparam",             /* 142 */
+    "sched_getparam",             /* 143 */
+    "sched_setscheduler",         /* 144 */
+    "sched_getscheduler",         /* 145 */
+    "sched_get_priority_max",     /* 146 */
+    "sched_get_priority_min",     /* 147 */
+    "sched_rr_get_interval",      /* 148 */
+    "mlock",                      /* 149 */
+    "munlock",                    /* 150 */
+    "mlockall",                   /* 151 */
+    "munlockall",                 /* 152 */
+    "vhangup",                    /* 153 */
+    "modify_ldt",                 /* 154 */
+    "pivot_root",                 /* 155 */
+    "_sysctl",                    /* 156 */
+    "prctl",                      /* 157 */
+    "arch_prctl",                 /* 158 */
+    "adjtimex",                   /* 159 */
+    "setrlimit",                  /* 160 */
+    "chroot",                     /* 161 */
+    "sync",                       /* 162 */
+    "acct",                       /* 163 */
+    "settimeofday",               /* 164 */
+    "mount",                      /* 165 */
+    "umount2",                    /* 166 */
+    "swapon",                     /* 167 */
+    "swapoff",                    /* 168 */
+    "reboot",                     /* 169 */
+    "sethostname",                /* 170 */
+    "setdomainname",              /* 171 */
+    "iopl",                       /* 172 */
+    "ioperm",                     /* 173 */
+    "create_module",              /* 174 */
+    "init_module",                /* 175 */
+    "delete_module",              /* 176 */
+    "get_kernel_syms",            /* 177 */
+    "query_module",               /* 178 */
+    "quotactl",                   /* 179 */
+    "nfsservctl",                 /* 180 */
+    "getpmsg",                    /* 181 */
+    "putpmsg",                    /* 182 */
+    "afs_syscall",                /* 183 */
+    "tuxcall",                    /* 184 */
+    "security",                   /* 185 */
+    "gettid",                     /* 186 */
+    "readahead",                  /* 187 */
+    "setxattr",                   /* 188 */
+    "lsetxattr",                  /* 189 */
+    "fsetxattr",                  /* 190 */
+    "getxattr",                   /* 191 */
+    "lgetxattr",                  /* 192 */
+    "fgetxattr",                  /* 193 */
+    "listxattr",                  /* 194 */
+    "llistxattr",                 /* 195 */
+    "flistxattr",                 /* 196 */
+    "removexattr",                /* 197 */
+    "lremovexattr",               /* 198 */
+    "fremovexattr",               /* 199 */
+    "tkill",                      /* 200 */
+    "time",                       /* 201 */
+    "futex",                      /* 202 */
+    "sched_setaffinity",          /* 203 */
+    "sched_getaffinity",          /* 204 */
+    "set_thread_area",            /* 205 */
+    "io_setup",                   /* 206 */
+    "io_destroy",                 /* 207 */
+    "io_getevents",               /* 208 */
+    "io_submit",                  /* 209 */
+    "io_cancel",                  /* 210 */
+    "get_thread_area",            /* 211 */
+    "lookup_dcookie",             /* 212 */
+    "epoll_create",               /* 213 */
+    "epoll_ctl_old",              /* 214 */
+    "epoll_wait_old",             /* 215 */
+    "remap_file_pages",           /* 216 */
+    "getdents64",                 /* 217 */
+    "set_tid_address",            /* 218 */
+    "restart_syscall",            /* 219 */
+    "semtimedop",                 /* 220 */
+    "fadvise64",                  /* 221 */
+    "timer_create",               /* 222 */
+    "timer_settime",              /* 223 */
+    "timer_gettime",              /* 224 */
+    "timer_getoverrun",           /* 225 */
+    "timer_delete",               /* 226 */
+    "clock_settime",              /* 227 */
+    "clock_gettime",              /* 228 */
+    "clock_getres",               /* 229 */
+    "clock_nanosleep",            /* 230 */
+    "exit_group",                 /* 231 */
+    "epoll_wait",                 /* 232 */
+    "epoll_ctl",                  /* 233 */
+    "tgkill",                     /* 234 */
+    "utimes",                     /* 235 */
+    "vserver",                    /* 236 */
+    "mbind",                      /* 237 */
+    "set_mempolicy",              /* 238 */
+    "get_mempolicy",              /* 239 */
+    "mq_open",                    /* 240 */
+    "mq_unlink",                  /* 241 */
+    "mq_timedsend",               /* 242 */
+    "mq_timedreceive",            /* 243 */
+    "mq_notify",                  /* 244 */
+    "mq_getsetattr",              /* 245 */
+    "kexec_load",                 /* 246 */
+    "waitid",                     /* 247 */
+    "add_key",                    /* 248 */
+    "request_key",                /* 249 */
+    "keyctl",                     /* 250 */
+    "ioprio_set",                 /* 251 */
+    "ioprio_get",                 /* 252 */
+    "inotify_init",               /* 253 */
+    "inotify_add_watch",          /* 254 */
+    "inotify_rm_watch",           /* 255 */
+    "migrate_pages",              /* 256 */
+    "openat",                     /* 257 */
+    "mkdirat",                    /* 258 */
+    "mknodat",                    /* 259 */
+    "fchownat",                   /* 260 */
+    "futimesat",                  /* 261 */
+    "newfstatat",                 /* 262 */
+    "unlinkat",                   /* 263 */
+    "renameat",                   /* 264 */
+    "linkat",                     /* 265 */
+    "symlinkat",                  /* 266 */
+    "readlinkat",                 /* 267 */
+    "fchmodat",                   /* 268 */
+    "faccessat",                  /* 269 */
+    "pselect6",                   /* 270 */
+    "ppoll",                      /* 271 */
+    "unshare",                    /* 272 */
+    "set_robust_list",            /* 273 */
+    "get_robust_list",            /* 274 */
+    "splice",                     /* 275 */
+    "tee",                        /* 276 */
+    "sync_file_range",            /* 277 */
+    "vmsplice",                   /* 278 */
+    "move_pages",                 /* 279 */
+    "utimensat",                  /* 280 */
+    "epoll_pwait",                /* 281 */
+    "signalfd",                   /* 282 */
+    "timerfd_create",             /* 283 */
+    "eventfd",                    /* 284 */
+    "fallocate",                  /* 285 */
+    "timerfd_settime",            /* 286 */
+    "timerfd_gettime",            /* 287 */
+    "accept4",                    /* 288 */
+    "signalfd4",                  /* 289 */
+    "eventfd2",                   /* 290 */
+    "epoll_create1",              /* 291 */
+    "dup3",                       /* 292 */
+    "pipe2",                      /* 293 */
+    "inotify_init1",              /* 294 */
+    "preadv",                     /* 295 */
+    "pwritev",                    /* 296 */
+    "rt_tgsigqueueinfo",          /* 297 */
+    "perf_event_open",            /* 298 */
+    "recvmmsg",                   /* 299 */
+#else
+    "restart_syscall",            /* 0 */
+    "exit",                       /* 1 */
+    "fork",                       /* 2 */
+    "read",                       /* 3 */
+    "write",                      /* 4 */
+    "open",                       /* 5 */
+    "close",                      /* 6 */
+    "waitpid",                    /* 7 */
+    "creat",                      /* 8 */
+    "link",                       /* 9 */
+    "unlink",                     /* 10 */
+    "execve",                     /* 11 */
+    "chdir",                      /* 12 */
+    "time",                       /* 13 */
+    "mknod",                      /* 14 */
+    "chmod",                      /* 15 */
+    "lchown",                     /* 16 */
+    "break",                      /* 17 */
+    "oldstat",                    /* 18 */
+    "lseek",                      /* 19 */
+    "getpid",                     /* 20 */
+    "mount",                      /* 21 */
+    "umount",                     /* 22 */
+    "setuid",                     /* 23 */
+    "getuid",                     /* 24 */
+    "stime",                      /* 25 */
+    "ptrace",                     /* 26 */
+    "alarm",                      /* 27 */
+    "oldfstat",                   /* 28 */
+    "pause",                      /* 29 */
+    "utime",                      /* 30 */
+    "stty",                       /* 31 */
+    "gtty",                       /* 32 */
+    "access",                     /* 33 */
+    "nice",                       /* 34 */
+    "ftime",                      /* 35 */
+    "sync",                       /* 36 */
+    "kill",                       /* 37 */
+    "rename",                     /* 38 */
+    "mkdir",                      /* 39 */
+    "rmdir",                      /* 40 */
+    "dup",                        /* 41 */
+    "pipe",                       /* 42 */
+    "times",                      /* 43 */
+    "prof",                       /* 44 */
+    "brk",                        /* 45 */
+    "setgid",                     /* 46 */
+    "getgid",                     /* 47 */
+    "signal",                     /* 48 */
+    "geteuid",                    /* 49 */
+    "getegid",                    /* 50 */
+    "acct",                       /* 51 */
+    "umount2",                    /* 52 */
+    "lock",                       /* 53 */
+    "ioctl",                      /* 54 */
+    "fcntl",                      /* 55 */
+    "mpx",                        /* 56 */
+    "setpgid",                    /* 57 */
+    "ulimit",                     /* 58 */
+    "oldolduname",                /* 59 */
+    "umask",                      /* 60 */
+    "chroot",                     /* 61 */
+    "ustat",                      /* 62 */
+    "dup2",                       /* 63 */
+    "getppid",                    /* 64 */
+    "getpgrp",                    /* 65 */
+    "setsid",                     /* 66 */
+    "sigaction",                  /* 67 */
+    "sgetmask",                   /* 68 */
+    "ssetmask",                   /* 69 */
+    "setreuid",                   /* 70 */
+    "setregid",                   /* 71 */
+    "sigsuspend",                 /* 72 */
+    "sigpending",                 /* 73 */
+    "sethostname",                /* 74 */
+    "setrlimit",                  /* 75 */
+    "getrlimit",                  /* 76 */
+    "getrusage",                  /* 77 */
+    "gettimeofday",               /* 78 */
+    "settimeofday",               /* 79 */
+    "getgroups",                  /* 80 */
+    "setgroups",                  /* 81 */
+    "select",                     /* 82 */
+    "symlink",                    /* 83 */
+    "oldlstat",                   /* 84 */
+    "readlink",                   /* 85 */
+    "uselib",                     /* 86 */
+    "swapon",                     /* 87 */
+    "reboot",                     /* 88 */
+    "readdir",                    /* 89 */
+    "mmap",                       /* 90 */
+    "munmap",                     /* 91 */
+    "truncate",                   /* 92 */
+    "ftruncate",                  /* 93 */
+    "fchmod",                     /* 94 */
+    "fchown",                     /* 95 */
+    "getpriority",                /* 96 */
+    "setpriority",                /* 97 */
+    "profil",                     /* 98 */
+    "statfs",                     /* 99 */
+    "fstatfs",                    /* 100 */
+    "ioperm",                     /* 101 */
+    "socketcall",                 /* 102 */
+    "syslog",                     /* 103 */
+    "setitimer",                  /* 104 */
+    "getitimer",                  /* 105 */
+    "stat",                       /* 106 */
+    "lstat",                      /* 107 */
+    "fstat",                      /* 108 */
+    "olduname",                   /* 109 */
+    "iopl",                       /* 110 */
+    "vhangup",                    /* 111 */
+    "idle",                       /* 112 */
+    "vm86old",                    /* 113 */
+    "wait4",                      /* 114 */
+    "swapoff",                    /* 115 */
+    "sysinfo",                    /* 116 */
+    "ipc",                        /* 117 */
+    "fsync",                      /* 118 */
+    "sigreturn",                  /* 119 */
+    "clone",                      /* 120 */
+    "setdomainname",              /* 121 */
+    "uname",                      /* 122 */
+    "modify_ldt",                 /* 123 */
+    "adjtimex",                   /* 124 */
+    "mprotect",                   /* 125 */
+    "sigprocmask",                /* 126 */
+    "create_module",              /* 127 */
+    "init_module",                /* 128 */
+    "delete_module",              /* 129 */
+    "get_kernel_syms",            /* 130 */
+    "quotactl",                   /* 131 */
+    "getpgid",                    /* 132 */
+    "fchdir",                     /* 133 */
+    "bdflush",                    /* 134 */
+    "sysfs",                      /* 135 */
+    "personality",                /* 136 */
+    "afs_syscall",                /* 137 */
+    "setfsuid",                   /* 138 */
+    "setfsgid",                   /* 139 */
+    "_llseek",                    /* 140 */
+    "getdents",                   /* 141 */
+    "_newselect",                 /* 142 */
+    "flock",                      /* 143 */
+    "msync",                      /* 144 */
+    "readv",                      /* 145 */
+    "writev",                     /* 146 */
+    "getsid",                     /* 147 */
+    "fdatasync",                  /* 148 */
+    "_sysctl",                    /* 149 */
+    "mlock",                      /* 150 */
+    "munlock",                    /* 151 */
+    "mlockall",                   /* 152 */
+    "munlockall",                 /* 153 */
+    "sched_setparam",             /* 154 */
+    "sched_getparam",             /* 155 */
+    "sched_setscheduler",         /* 156 */
+    "sched_getscheduler",         /* 157 */
+    "sched_yield",                /* 158 */
+    "sched_get_priority_max",     /* 159 */
+    "sched_get_priority_min",     /* 160 */
+    "sched_rr_get_interval",      /* 161 */
+    "nanosleep",                  /* 162 */
+    "mremap",                     /* 163 */
+    "setresuid",                  /* 164 */
+    "getresuid",                  /* 165 */
+    "vm86",                       /* 166 */
+    "query_module",               /* 167 */
+    "poll",                       /* 168 */
+    "nfsservctl",                 /* 169 */
+    "setresgid",                  /* 170 */
+    "getresgid",                  /* 171 */
+    "prctl",                      /* 172 */
+    "rt_sigreturn",               /* 173 */
+    "rt_sigaction",               /* 174 */
+    "rt_sigprocmask",             /* 175 */
+    "rt_sigpending",              /* 176 */
+    "rt_sigtimedwait",            /* 177 */
+    "rt_sigqueueinfo",            /* 178 */
+    "rt_sigsuspend",              /* 179 */
+    "pread64",                    /* 180 */
+    "pwrite64",                   /* 181 */
+    "chown",                      /* 182 */
+    "getcwd",                     /* 183 */
+    "capget",                     /* 184 */
+    "capset",                     /* 185 */
+    "sigaltstack",                /* 186 */
+    "sendfile",                   /* 187 */
+    "getpmsg",                    /* 188 */
+    "putpmsg",                    /* 189 */
+    "vfork",                      /* 190 */
+    "ugetrlimit",                 /* 191 */
+    "mmap2",                      /* 192 */
+    "truncate64",                 /* 193 */
+    "ftruncate64",                /* 194 */
+    "stat64",                     /* 195 */
+    "lstat64",                    /* 196 */
+    "fstat64",                    /* 197 */
+    "lchown32",                   /* 198 */
+    "getuid32",                   /* 199 */
+    "getgid32",                   /* 200 */
+    "geteuid32",                  /* 201 */
+    "getegid32",                  /* 202 */
+    "setreuid32",                 /* 203 */
+    "setregid32",                 /* 204 */
+    "getgroups32",                /* 205 */
+    "setgroups32",                /* 206 */
+    "fchown32",                   /* 207 */
+    "setresuid32",                /* 208 */
+    "getresuid32",                /* 209 */
+    "setresgid32",                /* 210 */
+    "getresgid32",                /* 211 */
+    "chown32",                    /* 212 */
+    "setuid32",                   /* 213 */
+    "setgid32",                   /* 214 */
+    "setfsuid32",                 /* 215 */
+    "setfsgid32",                 /* 216 */
+    "pivot_root",                 /* 217 */
+    "mincore",                    /* 218 */
+    "madvise",                    /* 219 */
+    "getdents64",                 /* 220 */
+    "fcntl64",                    /* 221 */
+    "SYSCALL_222",                /* 222 */
+    "SYSCALL_223",                /* 223 */
+    "gettid",                     /* 224 */
+    "readahead",                  /* 225 */
+    "setxattr",                   /* 226 */
+    "lsetxattr",                  /* 227 */
+    "fsetxattr",                  /* 228 */
+    "getxattr",                   /* 229 */
+    "lgetxattr",                  /* 230 */
+    "fgetxattr",                  /* 231 */
+    "listxattr",                  /* 232 */
+    "llistxattr",                 /* 233 */
+    "flistxattr",                 /* 234 */
+    "removexattr",                /* 235 */
+    "lremovexattr",               /* 236 */
+    "fremovexattr",               /* 237 */
+    "tkill",                      /* 238 */
+    "sendfile64",                 /* 239 */
+    "futex",                      /* 240 */
+    "sched_setaffinity",          /* 241 */
+    "sched_getaffinity",          /* 242 */
+    "set_thread_area",            /* 243 */
+    "get_thread_area",            /* 244 */
+    "io_setup",                   /* 245 */
+    "io_destroy",                 /* 246 */
+    "io_getevents",               /* 247 */
+    "io_submit",                  /* 248 */
+    "io_cancel",                  /* 249 */
+    "fadvise64",                  /* 250 */
+    "SYSCALL_251",                /* 251 */
+    "exit_group",                 /* 252 */
+    "lookup_dcookie",             /* 253 */
+    "epoll_create",               /* 254 */
+    "epoll_ctl",                  /* 255 */
+    "epoll_wait",                 /* 256 */
+    "remap_file_pages",           /* 257 */
+    "set_tid_address",            /* 258 */
+    "timer_create",               /* 259 */
+    "timer_settime",              /* 260 */
+    "timer_gettime",              /* 261 */
+    "timer_getoverrun",           /* 262 */
+    "timer_delete",               /* 263 */
+    "clock_settime",              /* 264 */
+    "clock_gettime",              /* 265 */
+    "clock_getres",               /* 266 */
+    "clock_nanosleep",            /* 267 */
+    "statfs64",                   /* 268 */
+    "fstatfs64",                  /* 269 */
+    "tgkill",                     /* 270 */
+    "utimes",                     /* 271 */
+    "fadvise64_64",               /* 272 */
+    "vserver",                    /* 273 */
+    "mbind",                      /* 274 */
+    "get_mempolicy",              /* 275 */
+    "set_mempolicy",              /* 276 */
+    "mq_open",                    /* 277 */
+    "mq_unlink",                  /* 278 */
+    "mq_timedsend",               /* 279 */
+    "mq_timedreceive",            /* 280 */
+    "mq_notify",                  /* 281 */
+    "mq_getsetattr",              /* 282 */
+    "kexec_load",                 /* 283 */
+    "waitid",                     /* 284 */
+    "SYSCALL_285",                /* 285 */
+    "add_key",                    /* 286 */
+    "request_key",                /* 287 */
+    "keyctl",                     /* 288 */
+    "ioprio_set",                 /* 289 */
+    "ioprio_get",                 /* 290 */
+    "inotify_init",               /* 291 */
+    "inotify_add_watch",          /* 292 */
+    "inotify_rm_watch",           /* 293 */
+    "migrate_pages",              /* 294 */
+    "openat",                     /* 295 */
+    "mkdirat",                    /* 296 */
+    "mknodat",                    /* 297 */
+    "fchownat",                   /* 298 */
+    "futimesat",                  /* 299 */
+    "fstatat64",                  /* 300 */
+    "unlinkat",                   /* 301 */
+    "renameat",                   /* 302 */
+    "linkat",                     /* 303 */
+    "symlinkat",                  /* 304 */
+    "readlinkat",                 /* 305 */
+    "fchmodat",                   /* 306 */
+    "faccessat",                  /* 307 */
+    "pselect6",                   /* 308 */
+    "ppoll",                      /* 309 */
+    "unshare",                    /* 310 */
+    "set_robust_list",            /* 311 */
+    "get_robust_list",            /* 312 */
+    "splice",                     /* 313 */
+    "sync_file_range",            /* 314 */
+    "tee",                        /* 315 */
+    "vmsplice",                   /* 316 */
+    "move_pages",                 /* 317 */
+    "getcpu",                     /* 318 */
+    "epoll_pwait",                /* 319 */
+    "utimensat",                  /* 320 */
+    "signalfd",                   /* 321 */
+    "timerfd_create",             /* 322 */
+    "eventfd",                    /* 323 */
+    "fallocate",                  /* 324 */
+    "timerfd_settime",            /* 325 */
+    "timerfd_gettime",            /* 326 */
+    "signalfd4",                  /* 327 */
+    "eventfd2",                   /* 328 */
+    "epoll_create1",              /* 329 */
+    "dup3",                       /* 330 */
+    "pipe2",                      /* 331 */
+    "inotify_init1",              /* 332 */
+    "preadv",                     /* 333 */
+    "pwritev",                    /* 334 */
+    "rt_tgsigqueueinfo",          /* 335 */
+    "perf_event_open",            /* 336 */
+    "recvmmsg",                   /* 337 */
+#endif
     NULL,
 };
Index: jrun/tests/network.py
===================================================================
--- jrun/tests/network.py	(revision 1147)
+++ jrun/tests/network.py	(working copy)
@@ -1,7 +1,7 @@
 # Automated test for jrun.
 # The following are parsed by test.php
 # JRUN_ARGS = --time-limit 1000 --memory-limit 16000
-# JRUN_RES = FAIL: time [0-9]+ms memory [0-9]+kb: Blocked system call: [[:alnum:]]+.
+# JRUN_RES = FAIL: time [0-9]+ms memory [0-9]+kb: (Non-zero exit status|Blocked system call: [[:alnum:]]+).
 
 import urllib
 print urllib.urlopen("http://infoarena.ro/").read()
