… | |
… | |
867 | static int coro_nready; |
867 | static int coro_nready; |
868 | |
868 | |
869 | static void |
869 | static void |
870 | coro_enq (pTHX_ SV *sv) |
870 | coro_enq (pTHX_ SV *sv) |
871 | { |
871 | { |
|
|
872 | SV **xprio; |
|
|
873 | int prio; |
|
|
874 | |
872 | if (SvTYPE (sv) != SVt_PVHV) |
875 | if (SvTYPE (sv) != SVt_PVHV) |
873 | croak ("Coro::ready tried to enqueue something that is not a coroutine"); |
876 | croak ("Coro::ready tried to enqueue something that is not a coroutine"); |
874 | |
877 | |
875 | SV **xprio = hv_fetch ((HV *)sv, "prio", 4, 0); |
878 | xprio = hv_fetch ((HV *)sv, "prio", 4, 0); |
876 | int prio = xprio ? SvIV (*xprio) : PRIO_NORMAL; |
879 | prio = xprio ? SvIV (*xprio) : PRIO_NORMAL; |
877 | |
880 | |
878 | prio = prio > PRIO_MAX ? PRIO_MAX |
881 | prio = prio > PRIO_MAX ? PRIO_MAX |
879 | : prio < PRIO_MIN ? PRIO_MIN |
882 | : prio < PRIO_MIN ? PRIO_MIN |
880 | : prio; |
883 | : prio; |
881 | |
884 | |