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