@@ -2444,12 +2444,18 @@ _select_exec(PyObject *m)
2444
2444
return -1 ;
2445
2445
}
2446
2446
2447
+ #define ADD_INT (VAL ) do { \
2448
+ if (PyModule_AddIntConstant((m), #VAL, (VAL)) < 0) { \
2449
+ return -1; \
2450
+ } \
2451
+ } while (0)
2452
+
2447
2453
#ifdef PIPE_BUF
2448
2454
#ifdef HAVE_BROKEN_PIPE_BUF
2449
2455
#undef PIPE_BUF
2450
2456
#define PIPE_BUF 512
2451
2457
#endif
2452
- PyModule_AddIntMacro ( m , PIPE_BUF );
2458
+ ADD_INT ( PIPE_BUF );
2453
2459
#endif
2454
2460
2455
2461
#if defined(HAVE_POLL ) && !defined(HAVE_BROKEN_POLL )
@@ -2468,31 +2474,31 @@ _select_exec(PyObject *m)
2468
2474
return -1 ;
2469
2475
}
2470
2476
2471
- PyModule_AddIntMacro ( m , POLLIN );
2472
- PyModule_AddIntMacro ( m , POLLPRI );
2473
- PyModule_AddIntMacro ( m , POLLOUT );
2474
- PyModule_AddIntMacro ( m , POLLERR );
2475
- PyModule_AddIntMacro ( m , POLLHUP );
2476
- PyModule_AddIntMacro ( m , POLLNVAL );
2477
+ ADD_INT ( POLLIN );
2478
+ ADD_INT ( POLLPRI );
2479
+ ADD_INT ( POLLOUT );
2480
+ ADD_INT ( POLLERR );
2481
+ ADD_INT ( POLLHUP );
2482
+ ADD_INT ( POLLNVAL );
2477
2483
2478
2484
#ifdef POLLRDNORM
2479
- PyModule_AddIntMacro ( m , POLLRDNORM );
2485
+ ADD_INT ( POLLRDNORM );
2480
2486
#endif
2481
2487
#ifdef POLLRDBAND
2482
- PyModule_AddIntMacro ( m , POLLRDBAND );
2488
+ ADD_INT ( POLLRDBAND );
2483
2489
#endif
2484
2490
#ifdef POLLWRNORM
2485
- PyModule_AddIntMacro ( m , POLLWRNORM );
2491
+ ADD_INT ( POLLWRNORM );
2486
2492
#endif
2487
2493
#ifdef POLLWRBAND
2488
- PyModule_AddIntMacro ( m , POLLWRBAND );
2494
+ ADD_INT ( POLLWRBAND );
2489
2495
#endif
2490
2496
#ifdef POLLMSG
2491
- PyModule_AddIntMacro ( m , POLLMSG );
2497
+ ADD_INT ( POLLMSG );
2492
2498
#endif
2493
2499
#ifdef POLLRDHUP
2494
2500
/* Kernel 2.6.17+ */
2495
- PyModule_AddIntMacro ( m , POLLRDHUP );
2501
+ ADD_INT ( POLLRDHUP );
2496
2502
#endif
2497
2503
}
2498
2504
#endif /* HAVE_POLL */
@@ -2515,45 +2521,54 @@ _select_exec(PyObject *m)
2515
2521
return -1 ;
2516
2522
}
2517
2523
2518
- PyModule_AddIntMacro ( m , EPOLLIN );
2519
- PyModule_AddIntMacro ( m , EPOLLOUT );
2520
- PyModule_AddIntMacro ( m , EPOLLPRI );
2521
- PyModule_AddIntMacro ( m , EPOLLERR );
2522
- PyModule_AddIntMacro ( m , EPOLLHUP );
2524
+ ADD_INT ( EPOLLIN );
2525
+ ADD_INT ( EPOLLOUT );
2526
+ ADD_INT ( EPOLLPRI );
2527
+ ADD_INT ( EPOLLERR );
2528
+ ADD_INT ( EPOLLHUP );
2523
2529
#ifdef EPOLLRDHUP
2524
2530
/* Kernel 2.6.17 */
2525
- PyModule_AddIntMacro ( m , EPOLLRDHUP );
2531
+ ADD_INT ( EPOLLRDHUP );
2526
2532
#endif
2527
- PyModule_AddIntMacro ( m , EPOLLET );
2533
+ ADD_INT ( EPOLLET );
2528
2534
#ifdef EPOLLONESHOT
2529
2535
/* Kernel 2.6.2+ */
2530
- PyModule_AddIntMacro ( m , EPOLLONESHOT );
2536
+ ADD_INT ( EPOLLONESHOT );
2531
2537
#endif
2532
2538
#ifdef EPOLLEXCLUSIVE
2533
- PyModule_AddIntMacro ( m , EPOLLEXCLUSIVE );
2539
+ ADD_INT ( EPOLLEXCLUSIVE );
2534
2540
#endif
2535
2541
2536
2542
#ifdef EPOLLRDNORM
2537
- PyModule_AddIntMacro ( m , EPOLLRDNORM );
2543
+ ADD_INT ( EPOLLRDNORM );
2538
2544
#endif
2539
2545
#ifdef EPOLLRDBAND
2540
- PyModule_AddIntMacro ( m , EPOLLRDBAND );
2546
+ ADD_INT ( EPOLLRDBAND );
2541
2547
#endif
2542
2548
#ifdef EPOLLWRNORM
2543
- PyModule_AddIntMacro ( m , EPOLLWRNORM );
2549
+ ADD_INT ( EPOLLWRNORM );
2544
2550
#endif
2545
2551
#ifdef EPOLLWRBAND
2546
- PyModule_AddIntMacro ( m , EPOLLWRBAND );
2552
+ ADD_INT ( EPOLLWRBAND );
2547
2553
#endif
2548
2554
#ifdef EPOLLMSG
2549
- PyModule_AddIntMacro ( m , EPOLLMSG );
2555
+ ADD_INT ( EPOLLMSG );
2550
2556
#endif
2551
2557
2552
2558
#ifdef EPOLL_CLOEXEC
2553
- PyModule_AddIntMacro ( m , EPOLL_CLOEXEC );
2559
+ ADD_INT ( EPOLL_CLOEXEC );
2554
2560
#endif
2555
2561
#endif /* HAVE_EPOLL */
2556
2562
2563
+ #undef ADD_INT
2564
+
2565
+ #define ADD_INT_CONST (NAME , VAL ) \
2566
+ do { \
2567
+ if (PyModule_AddIntConstant(m, NAME, VAL) < 0) { \
2568
+ return -1; \
2569
+ } \
2570
+ } while (0)
2571
+
2557
2572
#ifdef HAVE_KQUEUE
2558
2573
state -> kqueue_event_Type = (PyTypeObject * )PyType_FromModuleAndSpec (
2559
2574
m , & kqueue_event_Type_spec , NULL );
@@ -2574,80 +2589,83 @@ _select_exec(PyObject *m)
2574
2589
}
2575
2590
2576
2591
/* event filters */
2577
- PyModule_AddIntConstant ( m , "KQ_FILTER_READ" , EVFILT_READ );
2578
- PyModule_AddIntConstant ( m , "KQ_FILTER_WRITE" , EVFILT_WRITE );
2592
+ ADD_INT_CONST ( "KQ_FILTER_READ" , EVFILT_READ );
2593
+ ADD_INT_CONST ( "KQ_FILTER_WRITE" , EVFILT_WRITE );
2579
2594
#ifdef EVFILT_AIO
2580
- PyModule_AddIntConstant ( m , "KQ_FILTER_AIO" , EVFILT_AIO );
2595
+ ADD_INT_CONST ( "KQ_FILTER_AIO" , EVFILT_AIO );
2581
2596
#endif
2582
2597
#ifdef EVFILT_VNODE
2583
- PyModule_AddIntConstant ( m , "KQ_FILTER_VNODE" , EVFILT_VNODE );
2598
+ ADD_INT_CONST ( "KQ_FILTER_VNODE" , EVFILT_VNODE );
2584
2599
#endif
2585
2600
#ifdef EVFILT_PROC
2586
- PyModule_AddIntConstant ( m , "KQ_FILTER_PROC" , EVFILT_PROC );
2601
+ ADD_INT_CONST ( "KQ_FILTER_PROC" , EVFILT_PROC );
2587
2602
#endif
2588
2603
#ifdef EVFILT_NETDEV
2589
- PyModule_AddIntConstant ( m , "KQ_FILTER_NETDEV" , EVFILT_NETDEV );
2604
+ ADD_INT_CONST ( "KQ_FILTER_NETDEV" , EVFILT_NETDEV );
2590
2605
#endif
2591
2606
#ifdef EVFILT_SIGNAL
2592
- PyModule_AddIntConstant ( m , "KQ_FILTER_SIGNAL" , EVFILT_SIGNAL );
2607
+ ADD_INT_CONST ( "KQ_FILTER_SIGNAL" , EVFILT_SIGNAL );
2593
2608
#endif
2594
- PyModule_AddIntConstant ( m , "KQ_FILTER_TIMER" , EVFILT_TIMER );
2609
+ ADD_INT_CONST ( "KQ_FILTER_TIMER" , EVFILT_TIMER );
2595
2610
2596
2611
/* event flags */
2597
- PyModule_AddIntConstant ( m , "KQ_EV_ADD" , EV_ADD );
2598
- PyModule_AddIntConstant ( m , "KQ_EV_DELETE" , EV_DELETE );
2599
- PyModule_AddIntConstant ( m , "KQ_EV_ENABLE" , EV_ENABLE );
2600
- PyModule_AddIntConstant ( m , "KQ_EV_DISABLE" , EV_DISABLE );
2601
- PyModule_AddIntConstant ( m , "KQ_EV_ONESHOT" , EV_ONESHOT );
2602
- PyModule_AddIntConstant ( m , "KQ_EV_CLEAR" , EV_CLEAR );
2612
+ ADD_INT_CONST ( "KQ_EV_ADD" , EV_ADD );
2613
+ ADD_INT_CONST ( "KQ_EV_DELETE" , EV_DELETE );
2614
+ ADD_INT_CONST ( "KQ_EV_ENABLE" , EV_ENABLE );
2615
+ ADD_INT_CONST ( "KQ_EV_DISABLE" , EV_DISABLE );
2616
+ ADD_INT_CONST ( "KQ_EV_ONESHOT" , EV_ONESHOT );
2617
+ ADD_INT_CONST ( "KQ_EV_CLEAR" , EV_CLEAR );
2603
2618
2604
2619
#ifdef EV_SYSFLAGS
2605
- PyModule_AddIntConstant ( m , "KQ_EV_SYSFLAGS" , EV_SYSFLAGS );
2620
+ ADD_INT_CONST ( "KQ_EV_SYSFLAGS" , EV_SYSFLAGS );
2606
2621
#endif
2607
2622
#ifdef EV_FLAG1
2608
- PyModule_AddIntConstant ( m , "KQ_EV_FLAG1" , EV_FLAG1 );
2623
+ ADD_INT_CONST ( "KQ_EV_FLAG1" , EV_FLAG1 );
2609
2624
#endif
2610
2625
2611
- PyModule_AddIntConstant ( m , "KQ_EV_EOF" , EV_EOF );
2612
- PyModule_AddIntConstant ( m , "KQ_EV_ERROR" , EV_ERROR );
2626
+ ADD_INT_CONST ( "KQ_EV_EOF" , EV_EOF );
2627
+ ADD_INT_CONST ( "KQ_EV_ERROR" , EV_ERROR );
2613
2628
2614
2629
/* READ WRITE filter flag */
2615
2630
#ifdef NOTE_LOWAT
2616
- PyModule_AddIntConstant ( m , "KQ_NOTE_LOWAT" , NOTE_LOWAT );
2631
+ ADD_INT_CONST ( "KQ_NOTE_LOWAT" , NOTE_LOWAT );
2617
2632
#endif
2618
2633
2619
2634
/* VNODE filter flags */
2620
2635
#ifdef EVFILT_VNODE
2621
- PyModule_AddIntConstant ( m , "KQ_NOTE_DELETE" , NOTE_DELETE );
2622
- PyModule_AddIntConstant ( m , "KQ_NOTE_WRITE" , NOTE_WRITE );
2623
- PyModule_AddIntConstant ( m , "KQ_NOTE_EXTEND" , NOTE_EXTEND );
2624
- PyModule_AddIntConstant ( m , "KQ_NOTE_ATTRIB" , NOTE_ATTRIB );
2625
- PyModule_AddIntConstant ( m , "KQ_NOTE_LINK" , NOTE_LINK );
2626
- PyModule_AddIntConstant ( m , "KQ_NOTE_RENAME" , NOTE_RENAME );
2627
- PyModule_AddIntConstant ( m , "KQ_NOTE_REVOKE" , NOTE_REVOKE );
2636
+ ADD_INT_CONST ( "KQ_NOTE_DELETE" , NOTE_DELETE );
2637
+ ADD_INT_CONST ( "KQ_NOTE_WRITE" , NOTE_WRITE );
2638
+ ADD_INT_CONST ( "KQ_NOTE_EXTEND" , NOTE_EXTEND );
2639
+ ADD_INT_CONST ( "KQ_NOTE_ATTRIB" , NOTE_ATTRIB );
2640
+ ADD_INT_CONST ( "KQ_NOTE_LINK" , NOTE_LINK );
2641
+ ADD_INT_CONST ( "KQ_NOTE_RENAME" , NOTE_RENAME );
2642
+ ADD_INT_CONST ( "KQ_NOTE_REVOKE" , NOTE_REVOKE );
2628
2643
#endif
2629
2644
2630
2645
/* PROC filter flags */
2631
2646
#ifdef EVFILT_PROC
2632
- PyModule_AddIntConstant ( m , "KQ_NOTE_EXIT" , NOTE_EXIT );
2633
- PyModule_AddIntConstant ( m , "KQ_NOTE_FORK" , NOTE_FORK );
2634
- PyModule_AddIntConstant ( m , "KQ_NOTE_EXEC" , NOTE_EXEC );
2635
- PyModule_AddIntConstant ( m , "KQ_NOTE_PCTRLMASK" , NOTE_PCTRLMASK );
2636
- PyModule_AddIntConstant ( m , "KQ_NOTE_PDATAMASK" , NOTE_PDATAMASK );
2637
-
2638
- PyModule_AddIntConstant ( m , "KQ_NOTE_TRACK" , NOTE_TRACK );
2639
- PyModule_AddIntConstant ( m , "KQ_NOTE_CHILD" , NOTE_CHILD );
2640
- PyModule_AddIntConstant ( m , "KQ_NOTE_TRACKERR" , NOTE_TRACKERR );
2647
+ ADD_INT_CONST ( "KQ_NOTE_EXIT" , NOTE_EXIT );
2648
+ ADD_INT_CONST ( "KQ_NOTE_FORK" , NOTE_FORK );
2649
+ ADD_INT_CONST ( "KQ_NOTE_EXEC" , NOTE_EXEC );
2650
+ ADD_INT_CONST ( "KQ_NOTE_PCTRLMASK" , NOTE_PCTRLMASK );
2651
+ ADD_INT_CONST ( "KQ_NOTE_PDATAMASK" , NOTE_PDATAMASK );
2652
+
2653
+ ADD_INT_CONST ( "KQ_NOTE_TRACK" , NOTE_TRACK );
2654
+ ADD_INT_CONST ( "KQ_NOTE_CHILD" , NOTE_CHILD );
2655
+ ADD_INT_CONST ( "KQ_NOTE_TRACKERR" , NOTE_TRACKERR );
2641
2656
#endif
2642
2657
2643
2658
/* NETDEV filter flags */
2644
2659
#ifdef EVFILT_NETDEV
2645
- PyModule_AddIntConstant ( m , "KQ_NOTE_LINKUP" , NOTE_LINKUP );
2646
- PyModule_AddIntConstant ( m , "KQ_NOTE_LINKDOWN" , NOTE_LINKDOWN );
2647
- PyModule_AddIntConstant ( m , "KQ_NOTE_LINKINV" , NOTE_LINKINV );
2660
+ ADD_INT_CONST ( "KQ_NOTE_LINKUP" , NOTE_LINKUP );
2661
+ ADD_INT_CONST ( "KQ_NOTE_LINKDOWN" , NOTE_LINKDOWN );
2662
+ ADD_INT_CONST ( "KQ_NOTE_LINKINV" , NOTE_LINKINV );
2648
2663
#endif
2649
2664
2650
2665
#endif /* HAVE_KQUEUE */
2666
+
2667
+ #undef ADD_INT_CONST
2668
+
2651
2669
return 0 ;
2652
2670
}
2653
2671
0 commit comments