equal
deleted
inserted
replaced
298 void *real_value_p = NULL; |
298 void *real_value_p = NULL; |
299 char flags = 0; |
299 char flags = 0; |
300 void *visible_value_p = UnpackVar(dsc, &real_value_p, &flags); |
300 void *visible_value_p = UnpackVar(dsc, &real_value_p, &flags); |
301 void *dst_p = &rbuf[dsc->buf_index]; |
301 void *dst_p = &rbuf[dsc->buf_index]; |
302 uint32_t sz = __get_type_enum_size(dsc->type); |
302 uint32_t sz = __get_type_enum_size(dsc->type); |
|
303 #warning TODO: size of string in recv |
303 |
304 |
304 if((valptr + sz) <= end) |
305 if((valptr + sz) <= end) |
305 { |
306 { |
306 // rescheduling spinlock until free |
307 // rescheduling spinlock until free |
307 while(AtomicCompareExchange(&dsc->rlock, 0, 1)) sched_yield(); |
308 while(AtomicCompareExchange(&dsc->rlock, 0, 1)) sched_yield(); |