Ignore:
Timestamp:
Jun 13, 2019, 8:27:28 AM (6 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
d60780c
Parents:
6625727
Message:

first complete draft of new concurrency paper

Location:
doc/papers/concurrency/examples
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • doc/papers/concurrency/examples/PingPong.c

    r6625727 rd7a02ae  
    33typedef struct PingPong {
    44        const char * name;
     5        int N, i;
    56        struct PingPong * partner;
    6         int N, i;
    77        void * next;
    88} PingPong;
    9 #define PPCtor( name, N ) { name, NULL, N, 0, NULL }
     9#define PPCtor( name, N ) { name, N, 0, NULL, NULL }
    1010void comain( PingPong * pp ) __attribute__(( noinline ));
    1111void comain( PingPong * pp ) {
  • doc/papers/concurrency/examples/Pingpong.cfa

    r6625727 rd7a02ae  
    88};
    99
    10 void ?{}( PingPong & this, const char * name, unsigned int N, PingPong & part ) {
    11         this.[name, N] = [name, N];  &this.part = &part;
    12 }
    13 void ?{}( PingPong & this, const char * name, unsigned int N ) {
    14         this{ name, N, *0p };                                                           // call first constructor
    15 }
     10// void ?{}( PingPong & this, const char * name, unsigned int N, PingPong & part ) {
     11//      this.[name, N] = [name, N];  &this.part = &part;
     12// }
     13// void ?{}( PingPong & this, const char * name, unsigned int N ) {
     14//      this{ name, N, *0p };                                                           // call first constructor
     15// }
    1616void cycle( PingPong & pingpong ) {
    1717        resume( pingpong );
Note: See TracChangeset for help on using the changeset viewer.