diff options
Diffstat (limited to 'libgo/runtime/go-rec-big.c')
-rw-r--r-- | libgo/runtime/go-rec-big.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libgo/runtime/go-rec-big.c b/libgo/runtime/go-rec-big.c index 580ccb0..d45e90a 100644 --- a/libgo/runtime/go-rec-big.c +++ b/libgo/runtime/go-rec-big.c @@ -20,7 +20,10 @@ __go_receive_big (struct __go_channel *channel, void *val, _Bool for_select) size_t offset; if (channel == NULL) - __go_panic_msg ("receive from nil channel"); + { + /* Block forever. */ + __go_select (0, 0, NULL, NULL); + } element_size = channel->element_type->__size; alloc_size = (element_size + sizeof (uint64_t) - 1) / sizeof (uint64_t); |