{"action":"created","issue":{"url":"https://api.github.com/repos/grpc/grpc/issues/16432","repository_url":"https://api.github.com/repos/grpc/grpc","labels_url":"https://api.github.com/repos/grpc/grpc/issues/16432/labels{/name}","comments_url":"https://api.github.com/repos/grpc/grpc/issues/16432/comments","events_url":"https://api.github.com/repos/grpc/grpc/issues/16432/events","html_url":"https://github.com/grpc/grpc/pull/16432","id":353093538,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEwMjQwODIx","number":16432,"title":"Define the allow pthread atfork macro for gRPC Python MacOS builds","user":{"login":"ericgribkoff","id":5067076,"node_id":"MDQ6VXNlcjUwNjcwNzY=","avatar_url":"https://avatars2.githubusercontent.com/u/5067076?v=4","gravatar_id":"","url":"https://api.github.com/users/ericgribkoff","html_url":"https://github.com/ericgribkoff","followers_url":"https://api.github.com/users/ericgribkoff/followers","following_url":"https://api.github.com/users/ericgribkoff/following{/other_user}","gists_url":"https://api.github.com/users/ericgribkoff/gists{/gist_id}","starred_url":"https://api.github.com/users/ericgribkoff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericgribkoff/subscriptions","organizations_url":"https://api.github.com/users/ericgribkoff/orgs","repos_url":"https://api.github.com/users/ericgribkoff/repos","events_url":"https://api.github.com/users/ericgribkoff/events{/privacy}","received_events_url":"https://api.github.com/users/ericgribkoff/received_events","type":"User","site_admin":false},"labels":[{"id":168238186,"node_id":"MDU6TGFiZWwxNjgyMzgxODY=","url":"https://api.github.com/repos/grpc/grpc/labels/lang/Python","name":"lang/Python","color":"fad8c7","default":false},{"id":961832073,"node_id":"MDU6TGFiZWw5NjE4MzIwNzM=","url":"https://api.github.com/repos/grpc/grpc/labels/release%20notes:%20no","name":"release notes: no","color":"0f5f75","default":false}],"state":"open","locked":false,"assignee":{"login":"mehrdada","id":900411,"node_id":"MDQ6VXNlcjkwMDQxMQ==","avatar_url":"https://avatars3.githubusercontent.com/u/900411?v=4","gravatar_id":"","url":"https://api.github.com/users/mehrdada","html_url":"https://github.com/mehrdada","followers_url":"https://api.github.com/users/mehrdada/followers","following_url":"https://api.github.com/users/mehrdada/following{/other_user}","gists_url":"https://api.github.com/users/mehrdada/gists{/gist_id}","starred_url":"https://api.github.com/users/mehrdada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mehrdada/subscriptions","organizations_url":"https://api.github.com/users/mehrdada/orgs","repos_url":"https://api.github.com/users/mehrdada/repos","events_url":"https://api.github.com/users/mehrdada/events{/privacy}","received_events_url":"https://api.github.com/users/mehrdada/received_events","type":"User","site_admin":false},"assignees":[{"login":"mehrdada","id":900411,"node_id":"MDQ6VXNlcjkwMDQxMQ==","avatar_url":"https://avatars3.githubusercontent.com/u/900411?v=4","gravatar_id":"","url":"https://api.github.com/users/mehrdada","html_url":"https://github.com/mehrdada","followers_url":"https://api.github.com/users/mehrdada/followers","following_url":"https://api.github.com/users/mehrdada/following{/other_user}","gists_url":"https://api.github.com/users/mehrdada/gists{/gist_id}","starred_url":"https://api.github.com/users/mehrdada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mehrdada/subscriptions","organizations_url":"https://api.github.com/users/mehrdada/orgs","repos_url":"https://api.github.com/users/mehrdada/repos","events_url":"https://api.github.com/users/mehrdada/events{/privacy}","received_events_url":"https://api.github.com/users/mehrdada/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2018-08-22T19:33:18Z","updated_at":"2018-08-22T22:43:50Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/grpc/grpc/pulls/16432","html_url":"https://github.com/grpc/grpc/pull/16432","diff_url":"https://github.com/grpc/grpc/pull/16432.diff","patch_url":"https://github.com/grpc/grpc/pull/16432.patch"},"body":"gRPC Python builds on MacOS do not inherit the compiler macros defined in `setup.py` for the libgpr and libgrpc dependencies since https://github.com/grpc/grpc/commit/571c75aa330663e51e9eed3ad5b9f9d3898f3dcc. This has apparently been fine (?), but means that gRPC Core's fork handler code has *not* been compiled into Python Mac builds.\r\n\r\n@mehrdada I spent a little time trying to figure out a better way to do this. It does not work to just remove the darwin-specific make command, as this leads to a host of other errors. I ended up just hard-coding the necessary `GRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK` macro for fork support. This means that the `GRPC_ENABLE_FORK_SUPPORT` macro in core still defaults to false in core on Mac, whereas it defaults to 1 on linux builds, but flipping that is actually a behavior change so I'd prefer to defer it to later (or, ideally, have it default to false even on linux). `GRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK` is only checked at compile time, but `GRPC_ENABLE_FORK_SUPPORT` can be set by an environment variable at runtime so this PR is sufficient to enable core's fork handlers for Mac users. \r\n\r\ncc @srini100 "},"comment":{"url":"https://api.github.com/repos/grpc/grpc/issues/comments/415207459","html_url":"https://github.com/grpc/grpc/pull/16432#issuecomment-415207459","issue_url":"https://api.github.com/repos/grpc/grpc/issues/16432","id":415207459,"node_id":"MDEyOklzc3VlQ29tbWVudDQxNTIwNzQ1OQ==","user":{"login":"grpc-testing","id":28024233,"node_id":"MDQ6VXNlcjI4MDI0MjMz","avatar_url":"https://avatars1.githubusercontent.com/u/28024233?v=4","gravatar_id":"","url":"https://api.github.com/users/grpc-testing","html_url":"https://github.com/grpc-testing","followers_url":"https://api.github.com/users/grpc-testing/followers","following_url":"https://api.github.com/users/grpc-testing/following{/other_user}","gists_url":"https://api.github.com/users/grpc-testing/gists{/gist_id}","starred_url":"https://api.github.com/users/grpc-testing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grpc-testing/subscriptions","organizations_url":"https://api.github.com/users/grpc-testing/orgs","repos_url":"https://api.github.com/users/grpc-testing/repos","events_url":"https://api.github.com/users/grpc-testing/events{/privacy}","received_events_url":"https://api.github.com/users/grpc-testing/received_events","type":"User","site_admin":false},"created_at":"2018-08-22T22:43:50Z","updated_at":"2018-08-22T22:43:50Z","author_association":"NONE","body":"```\nObjective-C binary sizes\n*****************STATIC******************\n  New size                      Old size\n 1,952,584      Total (=)      1,952,584\n\n No significant differences in binary sizes\n\n***************FRAMEWORKS****************\n  New size                      Old size\n10,665,730      Total (>)     10,665,727\n\n No significant differences in binary sizes\n\n\n```"}}
{"actor":{"display_login":"grpc-testing"}}