Ignore:
Timestamp:
Jan 9, 2021, 4:27:57 PM (4 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
561dd26
Parents:
35fd2c4
Message:

Added prints.
Naive implementation of cancel.
Server now shutdown cleanly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • benchmark/io/http/main.cfa

    r35fd2c4 rece0e80  
    114114                options.clopts.instance = &cl;
    115115
    116                 init_protocol();
    117116
    118117                int pipe_cnt = options.clopts.nworkers * 2;
     
    131130                {
    132131                        ServerProc procs[options.clopts.nprocs];
     132
     133                        init_protocol();
    133134                        {
    134135                                Worker workers[options.clopts.nworkers];
     
    158159                                        printf("Shutting Down\n");
    159160                                }
     161
     162                                for(i; options.clopts.nworkers) {
     163                                        printf("Cancelling %p\n", (void*)workers[i].cancel.target);
     164                                        cancel(workers[i].cancel);
     165                                }
     166
     167                                printf("Shutting down socket\n");
     168                                int ret = shutdown( server_fd, SHUT_RD );
     169                                if( ret < 0 ) { abort( "shutdown error: (%d) %s\n", (int)errno, strerror(errno) ); }
     170
     171                                //===================
     172                                // Close Socket
     173                                printf("Closing Socket\n");
     174                                ret = close( server_fd );
     175                                if(ret < 0) {
     176                                        abort( "close socket error: (%d) %s\n", (int)errno, strerror(errno) );
     177                                }
    160178                        }
    161179                        printf("Workers Closed\n");
     180
     181                        deinit_protocol();
    162182                }
    163183
     
    170190                free(fds);
    171191
    172                 deinit_protocol();
    173         }
    174 
    175         //===================
    176         // Close Socket
    177         printf("Closing Socket\n");
    178         ret = close( server_fd );
    179         if(ret < 0) {
    180                 abort( "close socket error: (%d) %s\n", (int)errno, strerror(errno) );
    181192        }
    182193
Note: See TracChangeset for help on using the changeset viewer.