• Dan Winship's avatar
    gio: use GPollable* to implement fallback read_async/write_async · 00ee06e6
    Dan Winship authored
    If a GInputStream does not provide a read_async() implementation, but
    does implement GPollableInputStream, then instead of doing
    read-synchronously-in-a-thread, just use
    g_pollable_input_stream_read_nonblocking() and
    g_pollable_input_stream_create_source() to implement an async read in
    the same thread. Similarly for GOutputStream.
    
    Remove a bunch of existing read_async()/write_async() implementations
    that are basically equivalent to the new fallback method.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=673997
    00ee06e6
ginputstream.c 37 KB