Commit Graph

165 Commits (1724ae15a90ec61cba74ee9ba4fdf2fbce775e07)

Author SHA1 Message Date
John Benediktsson e50d1375a1 io: need to use libc for OS X? 2014-04-03 21:43:37 -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 3b7d0681af unix: rename C function kevent. 2013-03-23 17:44:00 -07:00
Doug Coleman f4834ce51c io.backend.unix: Nobody uses (refill), remove it. 2013-02-05 09:35:51 -08:00
John Benediktsson 7d8d6cdd51 core-foundation.run-loop: remove reset on every iteration. 2012-08-01 16:59:33 -07:00
John Benediktsson 1b32690d22 io.backend.unix.multiplexors.run-loop: switch to "mx get-global". 2012-08-01 16:20:31 -07:00
John Benediktsson 1a3e8a2994 io.backend: fix docs to show nanoseconds instead of micros. 2012-08-01 12:08:18 -07:00
John Benediktsson 3e6e6458e5 core-foundation.run-loop: do less work, speeds up yield by 50%. 2012-08-01 10:57:58 -07:00
John Benediktsson 1a73e79ef7 cleanup some use of with-scope. 2012-07-19 13:55:34 -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
Doug Coleman 69ffe6377a io.backend.unix.macosx: Remove duplicate USE: 2011-11-02 17:47:15 -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
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
John Benediktsson 4f42c72012 specialized-arrays: performed some cleanup.
Specifically,
    •   Created >c-array to be replacement for >T-array.
    •   Created cast-array to be generic replacement for all T-array-cast words.
    •   Created c-array@ to be generic replacement for T-array@ words.
    •   Replaced usages of <T-array> with T <c-array>
    •   Replaced usages of <direct-T-array> with T <c-direct-array>
    •   Replaced usages of >T-array with T >c-array
    •   Replaced usages of T-array-cast with T cast-array
    •   Replaced usages of malloc-T-array with T malloc-array.
    •   Removed malloc-T-array.
    •   Removed T-array-cast.
    •   Removed T-array@.
    •   Removed >T-array.

I also added (but didn't change any code to use):
    •   T c-array-type, returns T-array
    •   T c-array?, returns T-array?
    •   c-array{ T ... }, returns T-array{ ... }

Bootstraps just find on Mac OS X.  Also `load-all test-all` works for me.
2011-09-26 11:37:51 -07:00
Doug Coleman bf2a96e9e0 Remove Windows CE from core/ basis/ and build-support/
Rename the winnt singleton to windows in core/ basis/ extra/
Rename boot images winnt -> windows
Fixes #84.
2011-09-18 23:19:06 -05:00
Erik Charlebois 662bc3b07b Fix bugs in unix ffi usage 2011-05-23 23:36:14 -04:00
Erik Charlebois 013209bd17 epoll working on linux 2011-05-23 23:36:13 -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
Doug Coleman f791c8c5d2 Squashed commit of the following:
commit 197dbe9a6733775ac0ea19b3da4bd4dc3c85418c
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 19:01:38 2010 -0500

    Fix bootstrap, move privileges to windows.privileges

commit 521c622f8afb15bf42d263c738cb990560dc29cb
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:26:30 2010 -0500

    Hopefully fix bootstrap

commit eb3f22928b59758b9505430034044b5b94705da2
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:19:05 2010 -0500

    Remove wince from factor codebase

commit 619d6c99415f46208a7ede6a04b0ccda46b15360
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 16:07:46 2010 -0500

    Remove Windows CE from vm/
2010-09-19 19:13:25 -05:00
Doug Coleman 7122f9fccb Make sure io.backend.windows loads the implementations for the generics it defines. Make windows.handles not depend on io.timeouts. Fix typo in win32-file-attributes. Fix bug in null-output word. Clean up error checking code. 2010-09-17 14:19:10 -05:00
Doug Coleman 5c8316be07 Move win32-handle to windows.handles and update using lists to avoid pulling in the io backend where not necessary 2010-09-16 15:40:36 -05:00
Slava Pestov c447ca5427 io.backend.unix: remove dead code from bsd backend, fix select code 2010-09-15 21:56:42 -07: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 cbb9ff61fb io.sockets.windows: win32-socket instances were not being unregistered from global disposables hash; also check return value of closesocket 2010-08-15 00:05:27 -05:00
Slava Pestov 446ee6896d alien.data: remove second quotation parameter from with-out-parameters, now all values are copied properly and calling 'clone' on structs in this quotation is not necessary 2010-07-16 17:32:05 -04:00
Slava Pestov 66fcab3721 Fixes for out parameter changes 2010-05-23 03:27:40 -05:00
Slava Pestov 70a99e1cdb Updating code to use with-out-parameters 2010-05-23 03:07:47 -04: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 627295f094 Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO) 2010-05-06 17:21:02 -04:00
Slava Pestov 60299f6d74 Eliminate some -rot from the codebase 2010-05-03 18:31:01 -04: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
Slava Pestov f1e19aabdb threads: simplify 'suspend' combinator 2010-03-28 08:29:53 -04: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
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 e96404327e Get optimizing compiler working without global register variables in VM 2009-12-22 15:42:49 +13:00
Doug Coleman 3a90db03c6 use CONSTANT: in epoll 2009-11-21 20:56:39 -06:00
Slava Pestov 0612bc6177 Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Slava Pestov 5ccce283fa Various Windows load fixes 2009-11-21 17:24:37 -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 dc1eefbcc9 update run-loop multiplexer 2009-11-19 14:18:27 -06:00
Doug Coleman adcb0df0c4 fix stack effects for nanosseconds, update io backends for nanos 2009-11-19 04:51:47 -06:00
Joe Groff fa6d7b7069 eliminate spin from basis 2009-11-05 14:05:06 -06:00
Joe Groff c3b8847936 update a bunch of alien-callbacks and alien-indirects to use c-type words 2009-10-21 21:10:11 -05:00
Doug Coleman 88e2ba8f31 define tell-handle on windows nt 2009-10-05 12:34:34 -05: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 21f918adb6 io.backend.unix.multiplexers: add meta-data 2009-09-28 06:38:23 -05:00
Joe Groff b7eff85fe0 fix windows test failures 2009-09-19 10:01:12 -05:00
Joe Groff f738a4dc4e more windows loading fixes 2009-09-19 02:44:40 -05:00
Joe Groff 81db20f59e update windows.kernel32 structs (*) 2009-09-18 18:54:08 -05:00
Joe Groff 076ab42dc3 move some allocation words that don't really have much to do with c types out of alien.c-types into a new alien.data vocab 2009-09-17 22:36:05 -05:00
Slava Pestov 7f2e2b1777 Specialized array overhaul
- Replace hand-written specialized-arrays.* subvocabularies with new system; instead of USE:ing specialized-arrays.T, do SPECIALIZED-ARRAY: T
- Ditto for specialized-vectors; use SPECIALIZED-VECTOR:
- io.mmap.functor: removed entirely, use <mapped-array> instead
- struct-arrays and struct-vectors have been removed because specialized arrays and vectors subsume them entirely
2009-09-09 22:33:34 -05:00
Slava Pestov 75f7e27c6c Use new-style structs for overlapped struct on Windows 2009-09-05 16:20:58 -05:00
Slava Pestov f0d5f99d23 io.backend.windows: fix for deployment 2009-09-04 09:27:46 -05:00
Slava Pestov b238a1719f io.backend.windows.nt.privileges: fix make-token-privileges 2009-09-04 09:08:04 -05:00
Slava Pestov 223b907219 Fix sockets on Windows, and re-organize things so that windows.winsock doesn't get loaded by default 2009-09-04 05:02:33 -05:00
Slava Pestov 2037667473 io.backend.unix.multiplexers.epoll: update for STRUCT: 2009-09-01 14:46:08 -05:00
Doug Coleman d5a7dde7ee fix kqueue 2009-08-30 21:57:33 -05:00
Slava Pestov 5c10f390c7 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-30 21:12:23 -05:00
Slava Pestov 348311ea90 io.backend.unix: tweak test 2009-08-30 21:01:49 -05:00
Doug Coleman 05cc8babb6 update kqueue for structs 2009-08-30 20:26:25 -05:00
Doug Coleman 469e7e8d67 newstructify PIXELFORMAT 2009-08-27 20:35:37 -05:00
Doug Coleman 3507616f3b use structs in a few places in windows backend 2009-08-25 17:23:23 -05:00
Slava Pestov b2a1858f8f Move a few more things over to new disposable protocol 2009-08-24 20:33:27 -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 5fe3a62446 io.launcher.windows.nt: don't call duplicate-handle, and fix memory leak; io.backend.windows: track win32-handle instances in global win32-handles set to help find leaks 2009-08-18 03:46:46 -05:00
Doug Coleman 3f3d57032b Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring 2009-08-13 19:21:44 -05:00
U-C4\Administrator 02b769475b fix duplicate using lines 2009-05-17 20:29:32 -05:00
Slava Pestov 5a8e7d1c76 io.bakend.windows.nt: fix bootstrap error 2009-05-12 06:25:06 -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 9d2fb3378b io.backend.windows.privileges: clean up code and fix inference problem 2009-05-07 21:26:29 -05:00
Doug Coleman 6ec73b2a2a fix bootstrap on windows. here's an opportunity to use literals. 2009-04-30 13:47:49 -05:00
Doug Coleman 31ce2252e7 fix win32 error handling 2009-04-30 13:11:51 -05:00
Doug Coleman 65d76e6509 finish fixing the using list for windows.errors, more ffi bindings 2009-04-30 10:25:59 -05:00
Doug Coleman 8ab4d39036 move windows error handling to windows.errors and update usages. 2009-04-30 09:36:25 -05:00
Slava Pestov 723bfab030 Fixing unit tests for syntax change 2009-03-23 00:34:02 -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
Slava Pestov 6b25e99470 Add summary for heaps more vocabs 2009-02-16 21:05:13 -06:00
Doug Coleman b529df9652 handle seeking before the file start on windows, add a unit test for this 2009-02-08 20:18:30 -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 44a4c20f23 update stream seeking on windows for new api 2009-02-07 11:00:16 -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 790f3b867c remove bogus unix depenedency, implement seeking on windows 2009-02-07 01:12:03 -06:00