Commit Graph

48 Commits (a6926b19ce97cdd8cfd2634fa41c1100bf9dde70)

Author SHA1 Message Date
Doug Coleman b6be8685c3 basis: ERROR: changes. 2015-08-13 03:20:39 -07:00
John Benediktsson 5eec781b40 use ``if*`` instead of ``dup [ ] [ drop ] if``. 2015-07-20 22:24:30 -07:00
John Benediktsson 7badef25ce libc: reduce code duplication. 2014-11-21 10:19:12 -08:00
John Benediktsson 39093727b1 libc: rename (io-error) to throw-errno. 2014-11-21 09:29:45 -08:00
John Benediktsson 3f362dfc99 destructors: change check-disposed not to drop the disposable. 2014-11-21 08:19:05 -08:00
John Benediktsson 45bd145596 io: use errno case instead of cond. 2014-11-20 19:46:14 -08:00
John Benediktsson 0a31a7c17a io.backend.unix: { fixnum } read will be a { fixnum } . 2014-11-20 13:23:53 -08:00
John Benediktsson f79d61060e io.buffers: cleanup interface a bit. 2014-11-16 18:54:24 -08:00
John Benediktsson 8033741135 io/ui: slim down the USE: list 2014-10-24 17:33:27 -07:00
Doug Coleman be232dac9b io.backend: Remove duplicate definition of file-mode. Add mkdir-mode using non-magic symbols. Cleanup imports. 2014-10-24 17:16:40 -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 753b2f0177 io.files: make wait-for-fd generic and dispatch depending on backend
do-ssl-accept need to call wait-for-fd so it needs to be generic. On
windows it's a noop but on unix it will wait for the fd.
2014-04-02 12:12:49 -05:00
Björn Lindqvist 5f38df7741 io.sockets.secure.windows: reading and writing from ssl sockets
Unified the drain and refill generics and put their definition in
io.files. They are now used by both the windows and unix ssl backend
for io. Windows ssl kind of works now, but the error cases are not
implemented correctly.
2014-04-02 12:12:14 -05:00
Doug Coleman f4834ce51c io.backend.unix: Nobody uses (refill), remove it. 2013-02-05 09:35:51 -08:00
John Benediktsson 1a3e8a2994 io.backend: fix docs to show nanoseconds instead of micros. 2012-08-01 12:08:18 -07:00
Joe Groff 943596575a use radix literals 2011-11-23 19:03:40 -08:00
Joe Groff 9443f30b7d io.backend.unix: hints on M\ fd refill
Trims some low-order dispatch overhead for #376.
2011-11-09 16:32:47 -08:00
Joe Groff feb8c6149a io.backend: start signal thread after io-backend
The c-io-backend can't handle input-ports and raises an error during bootstrap.
2011-11-08 11:54:54 -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
Joe Groff 8337b08d0d io.backend.unix: startup hook for signal-pipe 2011-11-08 08:42:48 -08:00
Joe Groff ed24890dce io.backend.unix: init-signal-pipe function
Currently just reads off signal numbers and drops them.
2011-11-08 08:42:48 -08:00
Joe Groff 67cccc63b3 formatting 2011-10-17 21:23:36 -07:00
Joe Groff 863ab575e3 io.ports: stream-seekable? and stream-length
io.files.windows, io.backend.unix: platform-specific backends for those methods
2011-10-17 21:23:08 -07:00
Erik Charlebois 662bc3b07b Fix bugs in unix ffi usage 2011-05-23 23:36:14 -04: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
Doug Coleman 1f57dc326e Remove many uses of <int> and *int etc 2010-10-25 12:49:12 -05:00
Slava Pestov 76d2b83685 Add unless-disposed combinator to clean up some repetition, and fix bogus error reported from timer thread if an I/O operation with a set timeout fails on Windows 2010-08-23 21:12:24 -05:00
Slava Pestov 949712243f io.backend.unix: make timeouts work on stdin once Doug fixes alarms 2010-05-21 19:09:15 -04:00
Slava Pestov f1e19aabdb threads: simplify 'suspend' combinator 2010-03-28 08:29:53 -04:00
Slava Pestov 4893ebf183 Small cleanups 2010-02-16 04:04:09 +13: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 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
Slava Pestov ffd7de02d6 Update a few places that used string C type names to use words; fixes some deploy tests 2009-11-20 03:21:48 -06:00
Doug Coleman ed1636a0c0 fix stream-tell 2009-10-03 19:26:59 -05:00
Doug Coleman 098fd0248a support limited-streams correctly for seekable streams 2009-10-03 18:27:09 -05:00
Slava Pestov 46045c882e Disposables are now registered in a global disposables set. To take advantage of this, subclass disposable instead of providing a disposed slot and call new-disposable instead of new. tools.disposables defines two words, 'disposable.' and 'leaks', to help track down resource lifetime problems 2009-08-24 02:26:13 -05:00
Slava Pestov 96b1ae86a4 Clean up init-stdio implementations and move io.streams.null to basis 2009-05-12 03:35:48 -05:00
Slava Pestov 1951d739a0 Stack effect declarations are mandatory on all words now
define-temp now takes an effect parameter
Fix compiler bug that Dan found
Stricter enforcement of * effects
Move compile-call from compiler.units to compiler
2009-02-23 20:27:05 -06:00
Doug Coleman 16312f6711 clean up stream-seek with some suggestions from slava 2009-02-08 10:35:30 -06:00
Doug Coleman 959ef7a737 better error handling for backends 2009-02-07 11:24:12 -06:00
Doug Coleman bc0521f88a make seeking support the full lseek options, add seeking on output ports, remove seeking from decoders.. 2009-02-07 10:30:51 -06:00
Doug Coleman f6f716c4e3 unix support for stream seeking 2009-02-07 01:03:12 -06:00
Doug Coleman 43a91efde9 rename err_no to errno, clear_err_no to clear-errno, move them to libc, update usages 2009-02-06 18:22:28 -06:00
Doug Coleman f9cd01683c fix unix bootstrap 2009-01-29 21:26:27 -06:00
Doug Coleman b21e40fe95 fix windows backend 2009-01-29 21:03:16 -06:00
Slava Pestov c5160d76e9 Merge qualified, alias, symbols, constants into core 2008-12-17 18:10:01 -06:00
Slava Pestov 50e214c152 io.files split up and general refactoring work in progress 2008-12-14 20:03:00 -06:00