Create a new channel as a copy of main.
Rename main to:
Delete main? This cannot be undone.
struct some_descriptor { // commenting line above make this struct work void *(*thunk)(struct some_descriptor *); unsigned long key; };