Commit Graph

908 Commits (55bb8637044e901bde4a9d2663c52b27830ae2fe)

Author SHA1 Message Date
Doug Coleman b7314a68d8 Try to read instead of write from a TCP connection. This gives 'Connection refused' instead of 'Broken pipe', which is much more useful. 2011-08-26 11:03:01 -05:00
Slava Pestov ce9b311b10 io.pipes: add unit test for Linux x86-64 epoll() problem 2011-08-25 21:37:26 -07:00
Slava Pestov dfc7326413 io.thread: if the I/O thread throws an error, call out to the fep immediately instead of going through the normal thread error mechanism, which by that point won't work anyway 2011-08-25 21:36:57 -07:00
John Benediktsson d7d1b6fea1 io.sockets: check ipv4 and ipv6 for valid address strings. 2011-08-19 14:19:09 -07: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
John Benediktsson 013097e617 io.launcher: fix launcher examples. 2011-04-17 18:12:23 -07:00
Anton Gorenko 090254d671 ui.backend.gtk: fix a bug with endless error messages in a console after closing of UI;
io.thread: start-io-thread always starts io-thread even if it was stopped, fix line endings;
2011-04-01 22:06:07 +06:00
Slava Pestov db29973ccb io.sockets: fix unit test on Windows 2011-02-27 14:38:47 -08:00
Slava Pestov c0de0ac15f Merge branch 'doc-fixes' of git://github.com/keitahaga/factor 2011-02-25 22:37:39 -08:00
Slava Pestov 266c6d32e7 io.sockets: add scope-id to ipv6 addrspecs, fixing a problem with connecting to localhost on Mac OS X (and other systems) where localhost is associated with a link-local address such as fe80::1 2011-02-25 22:33:28 -08:00
Slava Pestov 78a85d0b05 io.sockets.secure.unix: update unit test for close-notify change 2011-02-25 21:05:56 -08:00
Keita Haga e374d55d09 io.encodings.8-bit.latin9, io.encodings.shift-jis: fix typo in docs. offical => official 2011-02-21 02:53:35 +09:00
Keita Haga 93b3cc0a93 io.styles: remove a nl in usage example of background 2011-02-20 06:11:31 +09:00
Keita Haga 2696c59aab io.sockets: fix a few typos in docs 2011-02-06 17:40:03 +09:00
Slava Pestov 4270c6cce6 io.sockets.secure.unix: fix socket shutdown handling to make http.client work with https://www.google.com 2011-01-31 23:45:45 -05:00
Slava Pestov cc06c4e51f openssl: remove cacert.pem, since its useless and we should call SSL_CTX_set_default_verify_paths instead 2011-01-29 23:26:29 -05:00
8byte-jose b3f0ff51aa fixed handling of UNC paths under windows 2011-01-25 13:32:21 +01:00
Keita Haga 23ec49a109 io.servers: fix a couple of typos in docs 2011-01-14 19:47:52 +09:00
Keita Haga a093c454c1 io.launcher: fix typo in docs 2011-01-08 23:10:35 +09:00
Keita Haga d5fe4fecc1 remove useless whitespace in several documentation 2011-01-05 15:55:34 +09:00
Slava Pestov 13d6c6a698 Update code for alien.data changes 2010-12-26 02:08:57 -06: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
Keita Haga 7a9591674c io.directories.search: fix a couple of examples 2010-12-23 05:15:20 +09:00
Keita Haga c3189054d1 io.files.info.unix, sequences: few $examples and $unchecked-examples turn into $codes 2010-12-23 04:05:06 +09:00
Keita Haga 08656749bf io.styles: add using to all examples plus fix formatting in some examples 2010-12-04 21:25:12 +09:00
Keita Haga 04aeadbb15 io.files.info.unix: fix IN: in docs 2010-11-18 04:29:36 +09:00
Keita Haga 08cb8a4848 io.files.info.unix: fix a couple of set-file-permissions examples 2010-11-18 03:46:02 +09:00
Keita Haga ae7b44e5eb io.directories: fix typo in example 2010-11-14 17:18:56 +09:00
Slava Pestov c4a83d2d0b io.servers: don't try to open SSL sockets if they're not supported on the current platform (ie, Windows) 2010-11-13 18:32:10 -06: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
Slava Pestov b10897334c io.sockets.secure: add ssl-supported? hook, and make furnace.auth and twitter vocabs use it. This makes furnace work on Windows 2010-10-24 15:54:19 -07:00
Slava Pestov fbbaef70c4 Remove stream-peek and stream-peek1, re-implement dns vocab to not need this abstraction 2010-10-08 18:55:13 -07:00
Doug Coleman 7367ff19c4 Add a method on url-addr for local ports
Remove test for code that got reverted
2010-10-08 08:42:19 -07:00
Doug Coleman d462355035 Implement and document stream-peek 2010-10-08 06:34:19 -07:00
Doug Coleman f7af445625 Add stream-peek1 and remove it from images.gif and dns. Add sequence-peek but not stream-peek (yet?) 2010-10-08 06:34:17 -07:00
Slava Pestov 89ae9d9638 Various cleanups for Doug's recent socket addressing change
- urls: now have a host/port slots again, add a new set-url-addr word
- http.server: fix host header parsing for IPv6 addresses
2010-10-06 23:00:38 -07:00
Doug Coleman 32f447d796 Since ip4/ip6 services can run on different ports, we must include which version of ip we're using instead of just a port. Make URL objects store an inet4/i nt6/inet object with host/port slots instead of storing host/port slots separately. Stricter error checking on inet4/inet6 tuple creation. Update lots of code related to the URL change. 2010-10-05 09:56:29 -05:00
Doug Coleman e48c28359e Fix io.streams.throwing word and write docs for it. Fix typo in io.streams.limited docs 2010-09-27 20:20:48 -05:00
Doug Coleman 0bbfa64b24 Squashed commit of the following:
commit 54b3e19c7407707fabddd53872559c58cd5143d2
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Mon Sep 27 19:10:15 2010 -0500

    Fix typo

commit 3207516dc93e0e1edc9f119efcc79f4484eab244
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Mon Sep 27 19:08:30 2010 -0500

    Rename io.servers.connection to io.servers
2010-09-27 19:12:33 -05:00
Doug Coleman 4ade3b6a5c Clean up io.servers.connection >insecure word 2010-09-27 19:00:54 -05:00
Doug Coleman b03268f047 Make secure-context persist longer than a millisecond when a server gets started. 2010-09-27 18:57:14 -05:00
Slava Pestov 2fb36ea1c5 io.sockets: minor cleanup 2010-09-24 01:17:33 -07:00
Doug Coleman a2a598546f Only return ipv4 addresses for binding to on linux. 2010-09-23 13:20:18 -05:00
Doug Coleman 8d3cb0d596 Remove test for icmp sockets since extra/ping implicitly tests this 2010-09-22 00:55:18 -05: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 a60afaf0ec Use SOCK_RAW for ICMP sockets on windows 2010-09-21 20:03:48 -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
Doug Coleman b98f4c13ce Let the server start before trying to clean it up 2010-09-21 00:20:44 -05:00
Doug Coleman 140aa80379 Don't try to use ipv6 addresses if an OS can't bind to them 2010-09-20 23:53:18 -05:00
Slava Pestov 3bd23f2414 io.directories.hierarchy: add some tests 2010-09-20 21:36:22 -07:00
Doug Coleman 8aa22487da Fix io.servers -- if it doesn't start up, don't throw an error when it's stopped. IPV6 must be enabled on windows with the command: ipv6 install (the build machines need this before we get clean windows builds). Fix up winsock error handling. 2010-09-19 21:35:52 -05:00
Doug Coleman fd502e2c85 Fix using list 2010-09-19 19:14:56 -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 87ec88ff6c Fix http tests and io.server.connection docs 2010-09-19 15:47:25 -05:00
Doug Coleman aa8c12a84b Squashed commit of the following:
commit 8a15381d30508b8f36a9e36dc3a0afc3c962c853
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 11 14:32:30 2010 -0500

    Squash threaded-server branch
2010-09-19 13:38:02 -05:00
Doug Coleman 4a018ebdfc Squashed commit of the following:
commit fbec7374aa3f99d8f76499183920e537dc7f38b1
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sun Sep 19 13:28:47 2010 -0500

    Remove random.combinators vocab

commit 74f91aca4a961879ec57ef56114eadd5e9f6dcee
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sun Sep 19 13:28:22 2010 -0500

    Rename random.combinators to combinators.random.  Add random.data vocabulary

commit f616c3f4ceac48ac6f48836040130ba4f090c47f
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sun Sep 19 13:14:01 2010 -0500

    Add execute-random combinator, docs, and respace a few things..

commit 1ce17507e3767c78e14ecf5e27e542168a47b2a2
Merge: db359d6 b53fc83
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sun Sep 19 12:55:53 2010 -0500

    Merge branch 'random-combinators' of git://github.com/jonenst/factor into random-combinators

commit b53fc830f3319e9bdfce02674ea480f69e1453db
Author: Jon Harper <jon.harper87@gmail.com>
Date:   Mon Aug 23 17:16:21 2010 +0200

    Random combinators vocabulary
2010-09-19 13:29:43 -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 06e3fc84a6 Trim using lists for io.files.windows 2010-09-16 16:10:38 -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 e5b30b7518 io: minor doc fixes throughout 2010-09-11 18:43:47 -07:00
Slava Pestov f3b264522c io.directories: move directory-tree-files words to io.directories.hierarchy, where all the other *-tree stuff is 2010-09-11 18:43:47 -07:00
Doug Coleman dc4970e234 Fix file uploads by using unlimit-stream for now. Will compare solution to with-combinators tomorrow. 2010-09-08 02:50:25 -05:00
Slava Pestov afbf4e9cb2 io.sockets: make addrspecs immutable 2010-09-04 18:49:27 -07:00
Slava Pestov aa2f5ae13f io.sockets: f 0 <inet4> should work 2010-09-04 15:41:12 -07:00
Slava Pestov 4fc792629e io.sockets: clean up resolve-host 2010-09-04 14:42:05 -07:00
Slava Pestov 3d461046f0 io.sockets: factor out ipv4 and ipv6 classes for John Benediktsson's upcoming ICMP work) 2010-09-04 14:19:20 -07:00
Slava Pestov 29028d8aea io.launcher.unix: clumsy fix for a race condition 2010-09-04 12:00:23 -07:00
Slava Pestov 7374d868e7 Change how SIGPIPE is ignored, and add a unit test to io.launcher.unix to ensure that this ignoredness is not inherited by child processes 2010-09-02 22:11:45 -07:00
Slava Pestov b88b2c9b81 io.monitors.linux: fix typo 2010-08-24 23:01:37 -04:00
Slava Pestov b7182432f3 io.monitors.recursive: fix typo 2010-08-23 21:54:59 -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
Philipp Brüschweiler 352e263de6 io.files.info.unix.linux: sometimes /etc/mtab isn't properly formatted (found on arch linux) 2010-08-01 14:00:03 +02:00
Slava Pestov 6e3dee43d4 io.ports: calling '0 read' now returns an empty sequence without blocking (reported by Brennan Cheung) 2010-07-30 15:58:33 -04:00
Slava Pestov f7bd876cae io.files.unix: fix tests for recent calendar.unix vocab changes 2010-07-21 00:23:35 -04: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
Joe Groff b04bc8640f io.streams.throwing: add test file 2010-07-09 23:36:40 -07:00
Joe Groff b1c557a825 io.streams.throwing: rename throws-on-eof -> stream-throw-on-eof and input-throws-on-eof -> throw-on-eof and change stream-throw-on-eof to leave the rigged stream on the stack, to better follow convention of other io words 2010-07-09 18:10:51 -07:00
Joe Groff fb4cbd87d4 io.streams.limited: scrape out last vestiges of unlimiting 2010-07-09 14:56:54 -07:00
Joe Groff 90b962bbd3 io.streams.throwing: implement read-until 2010-07-09 14:26:01 -07:00
Joe Groff 99db070c9e io.streams.throwing: implement tell and seek 2010-07-09 14:08:54 -07:00
Joe Groff 0bdc1514fd io.streams.limited: remove unlimit* 2010-07-09 13:52:15 -07:00
Doug Coleman 2ca509a8fe Split off io.streams.throwing from io.streams.limited and update usages of limited streams 2010-07-09 13:32:09 -05:00
Slava Pestov 01d67104f6 io.ports: fix stream-seek with seek-relative seek type (reported by Joe Groff) 2010-07-07 17:32:30 -04:00
Slava Pestov a7384d5de6 io.ports: fix stream-tell implementation 2010-07-07 02:27:34 -04:00
Doug Coleman e18bde069e Clearer <pipes> word 2010-06-17 11:02:47 -05:00
Doug Coleman d487a4b045 Merge branch 'master' of http://factorcode.org/git/factor 2010-06-16 16:48:04 -05:00
Sascha Matzke c746b68c28 added doc for with-local-address 2010-06-16 22:54:53 +02:00
Doug Coleman 9840e5e147 Add a combinator to make a unique directory, set that to the current and temp directories, and then delete the directory when done. Useful when working with apps that need to write intermediate files to the current directory 2010-06-13 19:34:17 -05:00
Doug Coleman a6f0abb9a2 Rename alarms -> timers 2010-06-10 16:39:13 -05:00
Slava Pestov 8fd6a24edb ui.backend.cocoa: factor out stop-io-thread word for use by upcoming Gtk UI backend 2010-05-29 04:27:54 -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
Doug Coleman e75b85de30 Update code base for new alarms api 2010-05-21 20:42:12 -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
Doug Coleman bdecd564a3 Use keys/values where appropriate 2010-05-21 12:48:04 -05:00
Slava Pestov a8098e3182 specialized-arrays: rename byte-array>T-array to T-array-cast, and make it work with anything that responds to >c-ptr / byte-length 2010-05-18 23:09:34 -04:00