VirtualBox

Changeset 75992 in vbox


Ignore:
Timestamp:
Dec 5, 2018 8:15:41 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
127213
Message:

GuestProperty: Limit the number of pending waits per session and look for cancelled ones.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/HostServices/GuestPropertySvc.h

    r75495 r75992  
    3535
    3636
    37 /** Maximum length for property names */
     37/** Maximum length for property names. */
    3838#define GUEST_PROP_MAX_NAME_LEN             64
    39 /** Maximum length for property values */
     39/** Maximum length for property values. */
    4040#define GUEST_PROP_MAX_VALUE_LEN            128
    41 /** Maximum number of properties per guest */
     41/** Maximum number of properties per guest. */
    4242#define GUEST_PROP_MAX_PROPS                256
    43 /** Maximum size for enumeration patterns */
     43/** Maximum size for enumeration patterns. */
    4444#define GUEST_PROP_MAX_PATTERN_LEN          1024
    45 /** Maximum number of changes we remember for guest notifications */
     45/** Maximum number of changes we remember for guest notifications. */
    4646#define GUEST_PROP_MAX_GUEST_NOTIFICATIONS  256
     47/** Maximum number of current pending waits per client. */
     48#define GUEST_PROP_MAX_GUEST_CONCURRENT_WAITS 16
    4749
    4850
  • trunk/src/VBox/HostServices/GuestProperties/service.cpp

    r75989 r75992  
    11901190                            it = mGuestWaiters.erase(it);
    11911191                        }
    1192                         //else if (mpHelpers->pfnIsCallCancelled(it->mHandle))
    1193                         //{
    1194                         //    /* Cleanup cancelled request. */
    1195                         //    mpHelpers->pfnCallComplete(it->mHandle, VERR_INTERRUPTED);
    1196                         //    it = mGuestWaiters.erase(it);
    1197                         //}
     1192                        else if (mpHelpers->pfnIsCallCancelled(it->mHandle))
     1193                        {
     1194                            /* Cleanup cancelled request. */
     1195                            mpHelpers->pfnCallComplete(it->mHandle, VERR_INTERRUPTED);
     1196                            it = mGuestWaiters.erase(it);
     1197                        }
    11981198                        else
    11991199                        {
     
    12071207                }
    12081208
    1209                 //if (cPendingWaits < 16)
     1209                if (cPendingWaits < GUEST_PROP_MAX_GUEST_CONCURRENT_WAITS)
    12101210                {
    12111211                    try
     
    12201220                    }
    12211221                }
    1222                 //else
    1223                 //{
    1224                 //    LogFunc(("Too many pending waits already!\n"));
    1225                 //    rc = VERR_OUT_OF_RESOURCES;
    1226                 //}
     1222                else
     1223                {
     1224                    LogFunc(("Too many pending waits already!\n"));
     1225                    rc = VERR_OUT_OF_RESOURCES;
     1226                }
    12271227            }
    12281228            /*
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette