| 245 | } |
| 246 | |
| 247 | void fiber::start(size_t stack_size /* 64000 */, bool share_stack /* false */) |
| 248 | { |
| 249 | if (f_ != NULL) { |
| 250 | acl_msg_fatal("%s(%d), %s: fiber-%u, already running!", |
| 251 | __FILE__, __LINE__, __FUNCTION__, self()); |
| 252 | } |
| 253 | |
| 254 | ACL_FIBER_ATTR attr; |
| 255 | acl_fiber_attr_init(&attr); |
| 256 | acl_fiber_attr_setstacksize(&attr, stack_size); |
| 257 | acl_fiber_attr_setsharestack(&attr, share_stack ? 1 : 0); |
| 258 | |
| 259 | acl_fiber_create2(&attr, fiber_callback, this); |
| 260 | } |
| 261 | |
| 262 | void fiber::fiber_callback(ACL_FIBER *f, void *ctx) |
| 263 | { |