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