Change the logic of who calls callbacks:
eb_device_close kills outstanding callbacks, not eb_socket_close. ... to do this, response tracked cycles remember their device. ... and on device close it filters the entire list of awaiting responses. The reasoning behind this change: the user probably has handles to the device in the callback if he closes the device, the callbacks might run later with a bad pointer instead => kill those callbacks as part of closing the device.
Showing
- api/etherbone.h 5 additions, 3 deletionsapi/etherbone.h
- api/format/master.c 3 additions, 0 deletionsapi/format/master.c
- api/glue/cycle.c 8 additions, 1 deletionapi/glue/cycle.c
- api/glue/device.c 46 additions, 3 deletionsapi/glue/device.c
- api/glue/readwrite.c 2 additions, 1 deletionapi/glue/readwrite.c
- api/glue/socket.c 88 additions, 40 deletionsapi/glue/socket.c
- api/glue/socket.h 4 additions, 1 deletionapi/glue/socket.h
Please register or sign in to comment