Doug Coleman
d1d15f83c4
unix.linux.proc: Fix length of meminfo struct on some kernel versions.
2014-04-22 00:18:20 -07:00
John Benediktsson
5e129a8964
more libc fixes.
2014-04-04 08:03:46 -07:00
Björn Lindqvist
eaca04de3b
libc: several vocabs now need to depend on libc
2014-04-02 12:13:00 -05:00
Björn Lindqvist
57a933e330
libc.*, unix.*: move constants and functions from the unix namespace to libc
...
The E* errno and SIG* constants are defined on Windows too, so they
should be in the libc vocab which is available there. They will be
used for SSL error handling.
2014-04-02 12:12:25 -05:00
Doug Coleman
30f2f8738b
unix.users: Add utility word to find a user's home directory.
2013-11-19 09:32:45 -08:00
Jon Harper
5341466a32
linux/proc: do something with 'TLB size'
2013-11-03 20:11:24 -08:00
Björn Lindqvist
7c179f876c
unix.ffi, windows.winsock: wraps for servent functions
2013-09-16 17:31:37 -07:00
John Benediktsson
d44cc17161
update docs for help.lint checks.
2013-08-24 11:39:31 -07:00
Doug Coleman
10bbc244d3
unix.utmpx: Fix bootstrap on linux, add platform-specific structs.
2013-06-04 18:09:52 -07:00
Doug Coleman
2c6accb084
unix.utmpx: Support utmpx on linux and fix on macosx. Add a unit test.
2013-06-04 17:53:15 -07:00
Doug Coleman
b4de3d0a2f
unix.linux.proc: Handle a unified processor-info object for linux 2.6 and on. Add unit tests. Fixes #877 .
2013-05-01 12:25:49 -07:00
Doug Coleman
65a7175cb6
unix.linux.proc: Pad tail with f for cpu-info. Fixes #877 .
2013-04-30 16:47:09 -07:00
Doug Coleman
7f118e13c0
unix.linux.proc: /proc/cpuinfo is updated in real time and can change based on throttling options. Don't cache it.
2013-04-24 13:39:03 -07:00
John Benediktsson
f70325a8c2
unix: use byte-vectors here.
2013-03-29 11:40:59 -07:00
Doug Coleman
f12633e73b
io.launcher.unix, unix.ffi: Reset ignored signal in process launcher. Fix SIG_DFL etc.
2013-03-24 12:38:02 -07:00
Doug Coleman
f5d0035ac5
unix.stat.linux: stat-func
2013-03-23 22:48:57 -07:00
Doug Coleman
5732c61f12
unix.stat: Rename stat.
2013-03-23 22:38:38 -07:00
Doug Coleman
20e14a96df
unix.statfs etc: Naming conflicts.
2013-03-23 22:38:38 -07:00
Doug Coleman
3b7d0681af
unix: rename C function kevent.
2013-03-23 17:44:00 -07:00
Doug Coleman
48dff3e6f1
unix.linux.proc: Older kernels don't have enough fields in /proc/pid/stat. Pad it.
2013-02-25 10:07:05 -08:00
Doug Coleman
9dfa305561
unix.linux.proc: Add some more /proc parsing.
2013-02-24 18:30:18 -08:00
Doug Coleman
5a5bac70f4
unix.linux.proc: Refactor /proc parsing. Add generic to make pid/string and pid-string/string pairs into /proc/pid/pathname.
2013-02-24 18:30:18 -08:00
Doug Coleman
4eb9126971
unix.ffi: Add the man 2 signal() function call.
2013-02-01 11:36:18 -08:00
Doug Coleman
a7fab027ae
unix.linux.proc: Add a parser for some of the /proc and /proc/[PID]/ files.
2013-02-01 11:36:18 -08:00
John Benediktsson
7b50fd3601
unix: adding truncate-file.
2012-10-25 21:51:08 -07:00
John Benediktsson
be4db5312f
unix: adding mkfifo.
2012-10-24 20:08:32 -07:00
John Benediktsson
2f0e437314
unix.ffi.macosx: can't use iovec here...
2012-10-24 20:08:20 -07:00
John Benediktsson
22a6087107
unix.ffi: adding sendfile.
2012-10-24 19:53:39 -07:00
John Benediktsson
e32eab2ca7
unix.ffi: adding readv/writev.
2012-10-24 19:53:24 -07:00
John Benediktsson
98b52e624c
unix.ffi: adding "access".
2012-10-24 16:37:05 -07:00
John Benediktsson
083950b4d2
unix.ffi: adding fileno.
2012-10-24 09:00:08 -07:00
John Benediktsson
c1d680eabc
unix.time: faster "0 make-timeval".
2012-08-01 14:31:18 -07:00
John Benediktsson
9489c171e4
unix.ffi: adding some socket constants.
2012-05-29 10:45:41 -07:00
Doug Coleman
daf13a0f4f
unix.groups: Return an empty sequence if the user in 'user user-groups' doesn't exist.
2012-02-02 19:58:24 -08:00
Doug Coleman
38d09743e0
unix.groups: Get the second parameter to getgrouplist from /etc/passwd.
2012-02-02 19:53:42 -08:00
John Benediktsson
c730bf62bd
unix.groups: 64 ought to be enough, right?
2012-02-02 19:41:39 -08:00
Joe Groff
943596575a
use radix literals
2011-11-23 19:03:40 -08:00
Joe Groff
466d41c341
unix.signals: documentation and metadata
2011-11-08 23:12:10 -08:00
Joe Groff
8b9c9a5c63
unix.process: take raise from unix.ffi
...
And fix introduced ambiguity between unix.ffi:kill and unix.process:kill
2011-11-08 10:42:51 -08:00
Joe Groff
fc7c175c9f
new module unix.signals: app-level signal handlers
...
example:
IN: scratchpad USING: unix.ffi unix.signals ;
Loading resource:basis/unix/signals/signals.factor
IN: scratchpad [ V{ "Me not that kind of orc!" "Me busy, leave me alone!" "Work work" "Zug zug" } pop print flush ] SIGINFO add-signal-handler
IN: scratchpad load: 0.60 cmd: factor 41541 running 0.28u 0.16s
Zug zug
load: 0.71 cmd: factor 41541 running 0.28u 0.16s
Work work
load: 0.71 cmd: factor 41541 running 0.28u 0.16s
Me busy, leave me alone!
load: 0.73 cmd: factor 41541 running 0.28u 0.16s
Me not that kind of orc!
2011-11-08 10:21:49 -08:00
Doug Coleman
cb14adb1c2
Fix bootstrap. Add missing using on io.serial.linux. Fixes #351 .
2011-11-04 06:08:02 -07:00
Joe Groff
7942f807c9
unix.ffi: add signal constants
2011-11-04 00:24:18 -07:00
Joe Groff
8cf18d1a82
remove BSD,solaris,etc. misc platform support code
2011-11-02 17:13:51 -07:00
Doug Coleman
94db86a6db
Make "foo.private" require load foo instead.
...
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201 .
2011-11-02 11:50:03 -07:00
Doug Coleman
eb7fd4a69b
Add options to set the child process group id or session for Unix. This fixes part of #307 .
2011-10-29 02:47:10 -07:00
Joe Groff
bd50acf424
unix.stat: bind to fstat
2011-10-17 21:23:07 -07:00
Slava Pestov
a8633d28c7
unix.*, io.directories.unix: remove unnecessary dependency on io.backend.unix
2011-09-01 22:31:45 -07:00
Slava Pestov
32261681f8
unix.linux.epoll: epoll_event is a packed struct! Damn...
2011-08-25 21:37:52 -07:00
Erik Charlebois
013209bd17
epoll working on linux
2011-05-23 23:36:13 -04:00
Keita Haga
c542cf13e9
unix.users: minor fixes in 'passwd' description
2011-01-04 21:51:51 +09:00
Slava Pestov
75560699ea
Move <ref>, deref and little-endian? from alien.c-types to alien.data, remove <c-object>
2010-12-25 16:55:36 -08:00
Slava Pestov
e139a7a02d
Clean up alien.c-types changes a little
2010-10-25 21:09:08 -07:00
Doug Coleman
67c37591ca
Remove <uint> *uint and friends. Hopefully remove the last usages of these words
2010-10-25 15:54:42 -05:00
Doug Coleman
4ca9bd0bba
Remove usages of <void*> and *void*
2010-10-25 13:22:50 -05:00
Doug Coleman
1f57dc326e
Remove many uses of <int> and *int etc
2010-10-25 12:49:12 -05:00
Doug Coleman
345447b961
Fix bootstrap on mac by adding back the PF_INET constant
2010-10-09 16:53:54 -07:00
Slava Pestov
daae54a88a
unix.ffi.bsd: fix load errors
2010-10-09 15:16:14 -07:00
Slava Pestov
a84d7af2c5
unix.ffi.bsd: fix AF_INET6 constants on FreeBSD and OpenBSD
2010-10-09 15:04:49 -07:00
Doug Coleman
2c42e616b4
Implement a raw port. Make ping only run on Windows and Mac because the other platforms require root privs.
2010-09-21 22:00:18 -05:00
Doug Coleman
7b0a50e7d2
Squashed commit of the following:
...
commit 90deaafa9db083ecdb9e0e30ad3694317e616399
Merge: f392dfd
32cf7bb
Author: Doug Coleman <doug.coleman@gmail.com>
Date: Tue Sep 21 00:33:37 2010 -0500
Merge branch 'icmp-ping' of git://github.com/mrjbq7/factor into icmp-ping2
commit 32cf7bb0e0b876309bce248944dfeca243f02594
Author: John Benediktsson <mrjbq7@gmail.com>
Date: Fri Sep 10 14:01:47 2010 -0700
ping: Adding a simple IPv4 ping implementation.
commit da0c5ce7acf1407256c3ac2b98ac5b68858878c1
Author: John Benediktsson <mrjbq7@gmail.com>
Date: Fri Sep 10 14:01:15 2010 -0700
io.sockets.icmp: Adding ICMP support.
commit 60fdf7e7d995d63c11be87e8e1398f7bdd593833
Author: John Benediktsson <mrjbq7@gmail.com>
Date: Fri Sep 10 14:00:48 2010 -0700
io.sockets: Adding protocol support for sockets.
commit 2f130f1f9e0e2ea44d798beaad244a9c33b0d86a
Author: John Benediktsson <mrjbq7@gmail.com>
Date: Fri Sep 10 14:00:28 2010 -0700
Adding getprotobyname().
2010-09-21 11:15:33 -05:00
Joe Groff
3f13fc7099
unix.ffi: third argument of ioctl should be void*, not c-string (reported by ceninan)
2010-06-30 09:09:16 -07:00
Doug Coleman
580c9190d5
Fix using list
2010-06-23 10:27:17 -05:00
Doug Coleman
317e793ef4
Fix all-users word by calling setpwent to rewind file
2010-06-23 10:25:08 -05:00
Slava Pestov
db3c4fe43c
Fix unix.time to actually load
2010-06-22 15:13:07 -04:00
Doug Coleman
82ac7e4e32
Better docs for users/groups
2010-06-21 12:10:45 -05:00
Doug Coleman
58de929a42
Fix a bug when calling all-groups twice. Add some users/groups utility words, unit tests, and docs.
2010-06-21 12:07:56 -05:00
Doug Coleman
82f38ce9a1
Allow with-*-group/user to be a no-op if first parameter is f
2010-06-17 13:20:51 -05:00
Doug Coleman
27af7ffe50
Throw an error on certain combinators if a user/group does not exist
2010-06-17 12:59:19 -05:00
Doug Coleman
d050ad5906
Add more time bindings
2010-06-13 19:34:18 -05:00
Slava Pestov
78dcc5bc33
Move system word from unix.ffi to libc since its not Unix-specific
2010-06-02 02:59:56 -04:00
Slava Pestov
70a99e1cdb
Updating code to use with-out-parameters
2010-05-23 03:07:47 -04:00
Slava Pestov
ea726f5680
Move remaining sequence operations from generalizations to sequences.generalizations where they belong
2010-05-18 18:36:47 -04:00
Daniel Ehrenberg
aa6158b366
Changing require-when usages to the new syntax for require-when
2010-04-18 14:29:24 -05:00
Slava Pestov
aaacd2a349
unix.process: use if-zero instead of re-inventing it
2010-04-14 22:45:30 -07:00
Joe Groff
ba2fa96eeb
unix: don't hack _exit to have a terminating effect; just use FUNCTION:
2010-04-14 22:04:04 -07:00
Slava Pestov
da6bcbedfc
Replace 'untested' tag with 'not loaded' and 'not tested' tags
2010-04-13 18:43:01 -07:00
Joe Groff
ef884ef7f2
Merge branch 'master' into abi-symbols
2010-04-01 15:28:36 -07:00
Doug Coleman
026499e64f
Use flags{ instead of flags all over the place
2010-04-01 14:44:03 -05:00
Joe Groff
65c3259761
"cdecl" -> cdecl
2010-03-31 19:20:35 -07:00
Daniel Ehrenberg
eb060443db
Updating code to use require-when rather than vocab [ require ] when
2010-03-18 01:13:37 -04:00
Slava Pestov
01e5aadcd0
unix.types.freebsd: fix time_t typedef
2010-03-17 17:39:43 +13:00
Joe Groff
4cfa1a6c77
rename current string-mangling "char*" to "c-string". char* is now just a boring old pointer to char
2010-02-23 11:42:02 -08:00
Joe Groff
53e601c5f0
_DARWIN_MAXNAMELEN+1 should actually be _DARWIN_MAXNAMELEN + 1
2010-02-22 23:55:52 -08:00
Joe Groff
6d4724a095
scrub memory>struct calls made redundant
2010-02-22 12:22:29 -08:00
Doug Coleman
957f2d9ff6
Check if we're using ttys before starting curses, since initscr exits on error for some dumb reason
2010-02-21 23:38:18 -06:00
Slava Pestov
570a2d0b37
unix.utmpx: fix load errors
2010-02-21 20:19:11 +13:00
Slava Pestov
5700d94e2b
unix.utilities: remove platforms.txt since its portable
2010-02-21 17:48:04 +13:00
Slava Pestov
c3f4bcb616
Fix load errors exposed by platforms.txt change
2010-02-20 13:31:09 +13:00
Slava Pestov
95bfc8a240
vocabs.metadata: replace unportable tag with a platforms.txt file for more fine-grained control. Rename unportable tag to untested for remaining cases
2010-02-20 13:30:49 +13:00
Doug Coleman
7d73d85856
Fix help lint for user-id
2010-02-05 01:20:40 -06:00
Doug Coleman
c32fcf918b
Fix user-name in unix.users, add unit test
2010-02-04 22:14:53 -06:00
Doug Coleman
c50682c6f0
make unix.utilities unportable
2010-01-23 10:12:25 -06:00
Doug Coleman
1a5768030b
Make unix.debugger unportable
2010-01-23 10:03:02 -06:00
Doug Coleman
7c40fc1a36
unix-system-call io-error -> unix-system-call drop
...
make unix.ffi, unix.ffi.linux unportable
fix spacing in io.cpp before refactoring
2010-01-23 09:07:35 -06:00
Doug Coleman
2bf53dde61
Fix netbsd load error
2010-01-22 17:10:32 -06:00
Doug Coleman
4857c737d3
Fix getgrent call in unix.groups
2010-01-22 16:55:05 -06:00
Doug Coleman
f144a36ad0
Move netbsd.structs into netbsd
2010-01-22 14:49:32 -06:00
Doug Coleman
bbff91e0ed
Fix load error
2010-01-22 14:45:15 -06:00
Doug Coleman
8d952277a2
Handle EINTR in a lot of cases where it wasn't handled before. Split off unix into unix.ffi and unix.
2010-01-22 12:59:24 -06:00
Doug Coleman
07fcb43a06
Make unix-system-call retry the call immediately upon hitting EINTR. Use unix-system-call wherever EAGAIN or EINPROGRESS are not handled. Handle EINTR if connect returns it.
2010-01-22 12:59:17 -06:00