[
https://issues.apache.org/jira/browse/GEODE-3136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16242406#comment-16242406
]
ASF GitHub Bot commented on GEODE-3136:
---------------------------------------
pivotal-jbarrett commented on a change in pull request #144: GEODE-3136:
Convert time values to std::chrono::duration.
URL: https://github.com/apache/geode-native/pull/144#discussion_r149438042
##########
File path:
clicache/integration-test/ThinClientAppDomainFunctionExecutionTests.cs
##########
@@ -52,43 +52,45 @@ public void AddResult(TResult result)
}
public ICollection<TResult> GetResult()
{
- return GetResult(50);
+ return GetResult(TimeSpan.FromSeconds(50));
}
- public ICollection<TResult> GetResult(UInt32 timeout)
+ public ICollection<TResult> GetResult(TimeSpan timeout)
{
m_getResultCount++;
- if (m_resultReady == true)
- {
- return m_results;
- }
- else
- {
- for (int i = 0; i < timeout; i++)
- {
- Thread.Sleep(1000);
- if (m_resultReady == true)
- {
- return m_results;
- }
+ lock (this) {
+ if (!m_resultReady) {
+ if (timeout > TimeSpan.Zero) {
+ if (!Monitor.Wait(this, timeout)) {
Review comment:
Yeah and this is still the lazy way to do it in C# (and Java). I am not sure
what they though the original code was doing but it wasn’t really correct.
There was no barrier to synchronize the ready state across threads. The
original also introduced 1s latency.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Replace all public API time values with std::chrono types
> ---------------------------------------------------------
>
> Key: GEODE-3136
> URL: https://issues.apache.org/jira/browse/GEODE-3136
> Project: Geode
> Issue Type: Improvement
> Components: native client
> Reporter: Jacob S. Barrett
> Assignee: Jacob S. Barrett
>
> Remove ambiguity of time values by using
> [{{std::chrono}}|http://en.cppreference.com/w/cpp/chrono] types in the public
> API.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)