Commit Graph

16 Commits

Author SHA1 Message Date
Neil Brown
e9730bfe1e Got the C++ backend working again, on the cgtests at least 2009-04-01 15:25:18 +00:00
Neil Brown
f0a64cb33f Added some Tock support functions for allocating and freeing workspaces
It turns out that we weren't freeing workspaces, and neither was CCSP, and hence in long-running programs we were leaking memory at a crazy rate.  This fix works, but really this stuff should be in CCSP (Currently, it doesn't seem to have a ProcFree function...)
2009-03-27 17:25:09 +00:00
Neil Brown
e08197bbef Added various bits for shared channels, which now means that cgtest86 compiles and passes 2009-03-24 00:08:02 +00:00
Neil Brown
10b4cd7cfc Realised that allocating mobile arrays as arrays of bytes screws up the resize intrinsic, and gave it a helping hand 2009-03-23 21:28:28 +00:00
Neil Brown
fae0d6d6a2 Made intrinsic PROCs take the workspace as a parameter, and turned . to _ in their names (and implemented the RESIZE.MOBILE.ARRAY.1D intrinsic) 2009-03-23 15:46:24 +00:00
Neil Brown
20a142839f Added the beginnings of list support for CCSP (using glib) 2008-03-25 18:44:49 +00:00
Adam Sampson
8625859773 Flush output when the C backend exits.
This makes "someprog | cat" work -- previously the output never got written.
The C++ support code already does this.
2008-04-08 15:12:24 +00:00
Adam Sampson
f445ccbdc9 Fix C style.
The Tock support headers (at least the C side) follow the KRoC C standards,
which are essentially K&R with spaces before function arg lists.
2008-04-08 15:08:25 +00:00
Neil Brown
e8adfb51fa Moved the code for setting up the terminal into tock_support.h so that C++CSP can use it too 2008-03-24 23:45:31 +00:00
Adam Sampson
b814e81bec Do away with the killval hack.
This now uses the same approach to detect a kill as libkrocif.
2008-03-12 16:43:15 +00:00
Adam Sampson
d7333e4479 Implement FLUSH in the output handlers. 2008-03-12 14:48:27 +00:00
Adam Sampson
88af6a29d2 Abstract CCSP setup into a function, and set up terminal properly.
If stdin is in use, it'll now be put into non-canonical mode. This is almost
the same as libkrocif's behaviour, except I've set VTIME to 0, since I don't
think there's a good reason to have a terminal read complete if no characters
are available.

This also sets CCSP's branding to "Tock", so error messages now start "Tock: ".
2008-03-12 14:38:58 +00:00
Adam Sampson
ac532be667 Implement stdin input handler.
This uses a slight hack to figure out when a killable BSC has actually been
killed (which I think should probably be a CCSP feature anyway).
2008-03-12 12:01:40 +00:00
Adam Sampson
f2d3280cee Abstract killing TLP channel handlers out into a function. 2008-03-12 10:47:19 +00:00
Adam Sampson
7eaab68f04 Implement TLP output channels using a CIF helper process.
Input channels will be similar, but are stubbed out for now.
2008-03-11 18:47:48 +00:00
Adam Sampson
50967cba95 Split the common C99/C++ support code out into a separate header.
Or, rather, add a new CIF-specific header, so tock_support.h is now the common
code and each of the backends has its own. This means some of the conditional
stuff can go away.
2008-03-05 16:54:29 +00:00