aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/iomgr
Commit message (Collapse)AuthorAge
* exec_ctx_fwd.h should never have been in public headersGravatar Vijay Pai2018-01-10
|
* Merge pull request #13912 from ncteisen/nullptrGravatar David G. Quintas2018-01-09
|\ | | | | Missing s/NULL/nullptr
* \ Merge pull request #13933 from kpayson64/avoid_stallGravatar kpayson642018-01-08
|\ \ | | | | | | Avoid stall
| * | Fix bug with pollhup workaroundGravatar Ken Payson2018-01-05
| | |
* | | Merge pull request #13931 from apolcyn/merge_18xGravatar apolcyn2018-01-05
|\ \ \ | | | | | | | | Merge 1.8.x into master
| * | | Manual merge conflict resolve: remove exec_ctx param from tcp_freeGravatar Alexander Polcyn2018-01-05
| | | |
| | * | Fix a Python spinlock bugGravatar Ken Payson2018-01-05
| | | |
* | | | Merge pull request #13900 from vjpai/odrGravatar Vijay Pai2018-01-05
|\ \ \ \ | | | | | | | | | | Wrap duplicated-name definitions in anonymous namespace (except for iomgr)
| | * | | Merge remote-tracking branch 'upstream/v1.8.x' into merge_18xGravatar Alexander Polcyn2018-01-05
| |/| | | |/| | | |
| | * | | Mark tcp errors as UNAVAILABLE in UV tcp codeGravatar murgatroid992018-01-04
| | | | |
| | | | * Missing s/NULL/nullptrGravatar ncteisen2018-01-03
| |_|_|/ |/| | |
| * | | Wrap duplicated-name definitions in anonymous namespaceGravatar Vijay Pai2018-01-02
| | | |
* | | | Revert "Fix a Python spinlock bug"Gravatar Mehrdad Afshari2018-01-02
|/ / / | | | | | | | | | This reverts commit 2df509fc0e8628d6d4431139ce953c70796a21eb.
* | | Fix struct namesGravatar Vijay Pai2018-01-01
| | |
* | | Merge branch v1.8.x into masterGravatar Mehrdad Afshari2017-12-31
|\| | | | | | | | | | | Upmerge v1.8.3 into master
| * | Relax log-level when polling engines are undefinedGravatar Mehrdad Afshari2017-12-29
| | |
* | | Add a start_cb to grpc_udp_listener to be called when listener isGravatar Dan Zhang2017-12-20
| | | | | | | | | | | | created.
* | | Merge pull request #13811 from ita9naiwa/masterGravatar Noah Eisen2017-12-19
|\ \ \ | | | | | | | | Typo fix
* \ \ \ Merge pull request #13831 from dgquintas/fix_wrong_slice_unrefGravatar David G. Quintas2017-12-19
|\ \ \ \ | | | | | | | | | | Fix wrong unreffing of slice
* \ \ \ \ Merge pull request #13833 from ncteisen/commentsGravatar Noah Eisen2017-12-19
|\ \ \ \ \ | | | | | | | | | | | | Add ownership semantic comments to error.h
| | | | * \ Merge pull request #13665 from kpayson64/poll_spin_bugGravatar kpayson642017-12-19
| | | | |\ \ | | | | | | | | | | | | | | Fix a Python spinlock bug
| * | | | | | Add ownership semantic comments to error.hGravatar ncteisen2017-12-19
| | | | | | |
| | * | | | | Fix wrong unreffing of sliceGravatar David Garcia Quintas2017-12-19
| |/ / / / / |/| | | | |
| | | | * | Fix a Python spinlock bugGravatar Ken Payson2017-12-19
| | | | | |
* | | | | | Merge pull request #13494 from dgquintas/backoff_cppGravatar David G. Quintas2017-12-19
|\ \ \ \ \ \ | | | | | | | | | | | | | | C++-ize backoff
| * | | | | | Create copy of "ac" data instead of stretching the locked sectionGravatar David Garcia Quintas2017-12-19
| | | | | | |
| * | | | | | Fix use-after-free caused by unsync'd access in tcp_client_posix.Gravatar David Garcia Quintas2017-12-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tc_on_alarm() and on_writable() race, resulting in the following: ``` D1219 08:59:33.425951347 86323 tcp_client_posix.cc:143] CLIENT_CONNECT: ipv4:127.0.0.1:27465: on_writable: error="No Error" D1219 08:59:33.426032150 86342 tcp_client_posix.cc:104] CLIENT_CONNECT: ipv4:127.0.0.1:27465: on_alarm: error="No Error" // At this point, note that the callbacks are running on different threads. D1219 08:59:33.426063521 86323 tcp_client_posix.cc:218] XXX on_writable ac->addr_str 0x603000008dd0 before unlock. # refs 2->1. Done 0 // on_writable() unrefs while still holding the lock. Because refs > 0, it marks its "done" as false and unlocks. D1219 08:59:33.426125130 86342 tcp_client_posix.cc:113] XXX tc_on_alarm ac->addr_str 0x603000008dd0 before unlock. # refs 1->0. Done 1 // right after on_writable() unlocks, tc_on_alarm() acquires the lock and unrefs, this time getting to zero and marking its "done" as true. // It then proceeds to destroy "ac", and, in particular for this failure, "ac->addr_str". D1219 08:59:33.426139370 86323 tcp_client_posix.cc:234] XXX on_writable about to read from ac->addr_str 0x603000008dd0. Done 0, error=OS Error // When on_writable() tries to read ac->addr_str to assemble its error details, it causes a use-after-free. ``` The problem is the lock isn't held long enough by on_writable(). Alternatively, a copy of ac->addr_str could be made in on_writable() while still holding the lock, but that seems more fragile. It doesn't seem that holding the lock longer would be a performance issue, given we are in a failure scenario.
* | | | | | | Fix internal TSAN bugGravatar Noah Eisen2017-12-19
| |/ / / / / |/| | | | |
| | * | | | minor typo : becuase -> becauseGravatar ita9naiwa2017-12-19
| |/ / / / |/| | | |
* | | | | Merge pull request #13776 from ncteisen/executor-tsanGravatar Noah Eisen2017-12-15
|\ \ \ \ \ | | | | | | | | | | | | Fix shutdown executor tsan bug
* \ \ \ \ \ Merge pull request #13771 from yang-g/deleteGravatar Yang Gao2017-12-15
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | Mark tcp errors as UNAVAILABLE
| | * | | | Fix executor tsan bugGravatar ncteisen2017-12-14
| |/ / / / |/| | | |
* | | | | Fix tsan in bad_client testsGravatar Noah Eisen2017-12-13
| | | | |
| * | | | Mark tcp errors as UNAVAILABLEGravatar yang-g2017-12-13
| | |_|/ | |/| |
* | | | Merge pull request #13450 from daniel-j-born/tcp_clientGravatar Mark D. Roth2017-12-13
|\ \ \ \ | | | | | | | | | | Refactor POSIX TCP client connect.
| | | * | fix or slow down windows socket leakGravatar Junsung Ko2017-12-12
| | | |/ | | | | | | | | | | | | | | | | related issue https://github.com/grpc/grpc/issues/13519 https://github.com/grpc/grpc/issues/13102
* | | | Merge pull request #13604 from yayaboring/masterGravatar Jan Tattermusch2017-12-12
|\ \ \ \ | | | | | | | | | | fix or slow down windows socket leak
| | * | | Refactor POSIX TCP client connect.Gravatar Dan Born2017-12-12
| | |/ /
* | | | Merge branch 'master' into cv-wait-monotonicGravatar Sree Kuchibhotla2017-12-08
|\ \ \ \ | | |/ / | |/| |
| * | | Disallow delete on ExecCtxGravatar Yash Tibrewal2017-12-08
| | | |
| * | | virtual destructor in exec_ctx, remove unneeded flush in grpc_shutdown and ↵Gravatar Yash Tibrewal2017-12-07
| | | | | | | | | | | | | | | | remove grpc_exec_ctx from .pxi files in python
| * | | Revert "Revert "All instances of exec_ctx being passed around in src/core ↵Gravatar Yash Tibrewal2017-12-06
| | | | | | | | | | | | | | | | removed""
| * | | Revert "All instances of exec_ctx being passed around in src/core removed"Gravatar Yash Tibrewal2017-12-06
| | | |
| * | | Merge pull request #13058 from yashykt/execctxGravatar Yash Tibrewal2017-12-05
| |\ \ \ | | | | | | | | | | All instances of exec_ctx being passed around in src/core removed
| * \ \ \ Merge pull request #13559 from dmaclach/threadnamesGravatar Vijay Pai2017-12-05
| |\ \ \ \ | | | | | | | | | | | | Add thread naming support on platforms that support it.
| | | * \ \ Merge master into execctxGravatar Yash Tibrewal2017-12-05
| | | |\ \ \ | | |_|/ / / | |/| | | |
| * | | | | Upmerge changes from v1.8.x to masterGravatar Mehrdad Afshari2017-12-05
| |\ \ \ \ \ | | | |_|_|/ | | |/| | |
| * | | | | Merge pull request #13554 from danzh2010/asyncioGravatar Yang Gao2017-12-04
| |\ \ \ \ \ | | | | | | | | | | | | | | udp_server async I/O
* | | | | | | Change the code to use MONOTONIC clocks when calling gpr_cv_wait (condition ↵Gravatar Sree Kuchibhotla2017-12-04
|/ / / / / / | | | | | | | | | | | | | | | | | | varialbes in linux support MONOTONIC clock type)
* | | | | | Merge pull request #12126 from dutor/fix-accept-queue-initGravatar Craig Tiller2017-12-04
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix init_max_accept_queue_size