[ https://issues.apache.org/jira/browse/ARROW-2490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated ARROW-2490: ---------------------------------- Labels: pull-request-available (was: ) > [C++] input stream locking inconsistent > --------------------------------------- > > Key: ARROW-2490 > URL: https://issues.apache.org/jira/browse/ARROW-2490 > Project: Apache Arrow > Issue Type: Bug > Components: C++ > Affects Versions: 0.9.0 > Reporter: Antoine Pitrou > Priority: Major > Labels: pull-request-available > > Reading from the current file pointer is inherently thread-unsafe, since the > file pointer may be updated by another thread (either before or during the > operation). However, currently, we have: > * {{ReadableFile::Read}} takes a lock > * {{MemoryMappedFile::Read}} doesn't take a lock > * {{BufferReader::Read}} doesn't take a lock > We could always take a lock in {{Read}}. But I don't think there's a pattern > where it's useful to call {{Read}} from multiple threads at once (since > you're not sure where the file pointer will be exactly when the read starts). > So we could as well specify that {{Read}} isn't thread-safe and let people > make sure they don't call it from multiple threads. -- This message was sent by Atlassian Jira (v8.3.2#803003)