Skip to content

Implicitly atomic accessors are unsafe when only half-synthesized #79

@danielpunkass

Description

@danielpunkass

A variety of properties in iMedia trigger warnings when the compiler detects that the property is implicitly atomic, but has been half-implemented (a getter or setter has been implemented), overriding the ability of the compiler to guarantee atomicity.

I think that for many of these, we probably could just change the atomicity of the property to "nonatomic" but I am not confident enough about the threading behavior of iMedia to make this change on my own. For each of the affected properties below, a decision should be made and a course of action followed:

  1. If the property should be considered nonatomic, then the nonatomic value should be added to its declaration, quieting the warning.
  2. If the property should be considered atomic, then the existing accessor method (setter or getter) should be revised to properly implement some kind of locking mechanism, and the missing accessor should be written from scratch complying with that same locking mechanism.

IMBNodeViewController.h
@Property (retain) IMBLibraryController* libraryController;

IMBObjectViewController.h
@Property (retain) IMBLibraryController* libraryController;

IMBApertureParser.h
@Property (assign) NSInteger version;

IMBiTunesParser.h
@Property (retain) NSDictionary* plist;

IMBSafariBookmarkParser.h
@Property (retain) NSDictionary* plist;

IMBAppleMediaParser.h
@Property (retain) NSDictionary* plist;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions