ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/Coro/State.xs
(Generate patch)

Comparing Coro/Coro/State.xs (file contents):
Revision 1.450 by root, Sun Jun 28 22:31:03 2015 UTC vs.
Revision 1.452 by root, Tue Jun 30 12:42:45 2015 UTC

21 21
22#include <stddef.h> 22#include <stddef.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <errno.h> 24#include <errno.h>
25#include <assert.h> 25#include <assert.h>
26
27#ifndef SvREFCNT_dec_NN
28 #define SvREFCNT_dec_NN(sv) SvREFCNT_dec (sv)
29#endif
30
31#ifndef SvREFCNT_inc_NN
32 #define SvREFCNT_inc_NN(sv) SvREFCNT_inc (sv)
33#endif
26 34
27#ifndef SVs_PADSTALE 35#ifndef SVs_PADSTALE
28# define SVs_PADSTALE 0 36# define SVs_PADSTALE 0
29#endif 37#endif
30 38
2870 2878
2871 for (i = AvFILLp (av) - 1; i >= 0; i -= 2) 2879 for (i = AvFILLp (av) - 1; i >= 0; i -= 2)
2872 if (AvARRAY (av)[i] == (SV *)hook) 2880 if (AvARRAY (av)[i] == (SV *)hook)
2873 { 2881 {
2874 if (execute) 2882 if (execute)
2875 hook ((void *)AvARRAY (av)[i + 1]); 2883 hook (aTHX_ (void *)AvARRAY (av)[i + 1]);
2876 2884
2877 memmove (AvARRAY (av) + i, AvARRAY (av) + i + 2, AvFILLp (av) - i - 1); 2885 memmove (AvARRAY (av) + i, AvARRAY (av) + i + 2, AvFILLp (av) - i - 1);
2878 av_pop (av); 2886 av_pop (av);
2879 av_pop (av); 2887 av_pop (av);
2880 break; 2888 break;
2892{ 2900{
2893 struct coro *coro = SvSTATE (coro_sv); 2901 struct coro *coro = SvSTATE (coro_sv);
2894 2902
2895 if (SvSTATE_current == coro) 2903 if (SvSTATE_current == coro)
2896 if (enter) 2904 if (enter)
2897 enter (aTHX enter_arg); 2905 enter (aTHX_ enter_arg);
2898 2906
2899 enterleave_hook_xs (aTHX_ coro, &coro->on_enter_xs, enter, enter_arg); 2907 enterleave_hook_xs (aTHX_ coro, &coro->on_enter_xs, enter, enter_arg);
2900 enterleave_hook_xs (aTHX_ coro, &coro->on_leave_xs, leave, leave_arg); 2908 enterleave_hook_xs (aTHX_ coro, &coro->on_leave_xs, leave, leave_arg);
2901} 2909}
2902 2910

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines