Commits
md_5 authored d6651bb0ea3
499 499 | HandlerList.unregisterAll(); |
500 500 | fileAssociations.clear(); |
501 501 | permissions.clear(); |
502 502 | defaultPerms.get(true).clear(); |
503 503 | defaultPerms.get(false).clear(); |
504 504 | } |
505 505 | } |
506 506 | |
507 507 | /** |
508 508 | * Calls an event with the given details. |
509 - | * <p> |
510 - | * This method only synchronizes when the event is not asynchronous. |
511 509 | * |
512 510 | * @param event Event details |
513 511 | */ |
514 512 | |
515 513 | public void callEvent( Event event) { |
516 514 | if (event.isAsynchronous()) { |
517 515 | if (Thread.holdsLock(this)) { |
518 516 | throw new IllegalStateException(event.getEventName() + " cannot be triggered asynchronously from inside synchronized code."); |
519 517 | } |
520 518 | if (server.isPrimaryThread()) { |
521 519 | throw new IllegalStateException(event.getEventName() + " cannot be triggered asynchronously from primary server thread."); |
522 520 | } |
523 - | fireEvent(event); |
524 521 | } else { |
525 522 | if (!server.isPrimaryThread()) { |
526 523 | throw new IllegalStateException(event.getEventName() + " cannot be triggered asynchronously from another thread."); |
527 524 | } |
528 - | synchronized (this) { |
529 - | fireEvent(event); |
530 - | } |
531 525 | } |
526 + | |
527 + | fireEvent(event); |
532 528 | } |
533 529 | |
534 530 | private void fireEvent( Event event) { |
535 531 | HandlerList handlers = event.getHandlers(); |
536 532 | RegisteredListener[] listeners = handlers.getRegisteredListeners(); |
537 533 | |
538 534 | for (RegisteredListener registration : listeners) { |
539 535 | if (!registration.getPlugin().isEnabled()) { |
540 536 | continue; |
541 537 | } |